Throughput increases for optical communications

ABSTRACT

Disclosed in some examples, are optical devices, systems, and machine-readable mediums that send and receive multiple streams of data across a same optical communication path (e.g., a same fiber optic fiber) with a same wavelength using different light sources transmitting at different power levels—thereby increasing the bandwidth of each optical communication path. Each light source corresponding to each stream transmits at a same frequency and on the same optical communication path using a different power level. The receiver differentiates the data for each stream by applying one or more detection models to the photon counts observed at the receiver to determine likely bit assignments for each stream.

BACKGROUND

Optical communications, such as fiber optic communications utilize alight source at one end that transmits one or more data streams bymodulating the data stream into light signals. These light signals passthrough a medium such as air or a glass fiber with internally reflectivesurfaces (a fiber optic fiber) to a receiver which employs a photondetection module to detect the light signals. The detected light is thendemodulated back into one or more data streams.

In order to effectively utilize the available light bandwidth, a numberof distinct channels may be created by assigning a different lightwavelength to each channel. Different data streams may be placed on eachchannel and transmitted simultaneously over a same medium to a samereceiver. This practice is commonly referred to as Wavelength DivisionMultiplexing (WDM). Some WDM systems allow up to 80 such channels perfiber and per channel bandwidth may be 40 Gbit/second to produce almost3.1 terabits/second of transmission on a single fiber (not includinglosses due to overhead).

As a result of this large bandwidth, fiber optic systems are becomingincreasingly popular with communication network providers, cloud serviceproviders, and other entities that need to transfer large amounts ofdata very quickly. In addition to carrying a large amount of data, fiberoptics offer other advantages such as: less attenuation than electricalcables—which provides the benefit of utilizing less networkinfrastructure for longer runs of communication cables; lack ofelectromagnetic interference; and various other benefits.

BRIEF DESCRIPTION OF THE DRAWINGS

In the drawings, which are not necessarily drawn to scale, like numeralsmay describe similar components in different views. Like numerals havingdifferent letter suffixes may represent different instances of similarcomponents. The drawings illustrate generally, by way of example, butnot by way of limitation, various embodiments discussed in the presentdocument.

FIG. 1 illustrates components of a simplified optical communicationsystem according to some examples of the present disclosure.

FIG. 2 shows a graph of three Poisson probability distributionscorresponding to three different power levels graphed with probabilityas a y-axis and photon count as the x-axis according to some examples ofthe present disclosure.

FIG. 3 illustrates a method performed by a receiver according to someexamples of the present disclosure.

FIG. 4 shows a schematic of an example power level assignment schemeaccording to some examples of the present disclosure.

FIG. 5 illustrates a flowchart of a method of a transmitter implementinga power level assignment scheme according to some examples of thepresent disclosure.

FIG. 6 illustrates a flowchart of an example method of tracking a phaseaccording to a power level assignment scheme that is timing basedaccording to some examples of the present disclosure.

FIG. 7 illustrates an example method of tracking a phase according to apower level assignment scheme that is bit-count based according to someexamples of the present disclosure.

FIG. 8 illustrates an example method of tracking a phase according to apower level assignment scheme that is QoS based according to someexamples of the present disclosure.

FIG. 9 illustrates a flowchart of a method of training a detection modelaccording to some examples of the present disclosure.

FIG. 10 illustrates a flowchart of a method of executing training stepsand determining models according to some examples of the presentdisclosure.

FIG. 11 illustrates a flowchart of a method showing a more specificimplementation of the method of FIG. 10.

FIG. 12 illustrates a schematic of a system for increasing fiber opticbandwidth according to some examples of the present disclosure.

FIG. 13 shows a schematic of a receiver according to some examples ofthe present disclosure.

FIG. 14 shows an example machine learning component according to someexamples of the present disclosure.

FIG. 15 illustrates a flowchart of a method of receiving data opticallyaccording to some examples of the present disclosure.

FIG. 16 illustrates a flowchart of a method for receiving opticalsignals at a receiver according to some examples of the presentdisclosure.

FIG. 17 illustrates a flowchart of a method for simultaneoustransmission of multiple data streams over an optical communication pathaccording to some examples of the present disclosure.

FIG. 18 is a block diagram illustrating an example of a machine uponwhich one or more embodiments may be implemented.

DETAILED DESCRIPTION

FIG. 1 illustrates components of a simplified optical communicationsystem in the form of a fiber optic system 100 according to someexamples of the present disclosure. A data stream 105 may comprisebinary data produced by higher network layers that is processed byprocessing circuitry 110. Processing circuitry 110 may process the dataof data stream 105 in one or more ways to prepare it for transmission.Example processing operations performed by the processing circuitry 110includes applying one or more error correction codes, compressionalgorithms, encryption algorithms, and/or the like. The data, astransformed by the processing circuitry 110, is then passed as a controlsignal to a light source 115. The light source 115 modulates the data byselectively turning the light source on an off in accordance with theinput data according to a modulation scheme. For example, in a simplemodulation scheme, each bit may be transmitted during a predeterminedperiod of time (e.g., a timeslot). During a particular timeslot, if thecurrent bit from the input data is a ‘1’, the light source may be turnedon during the timeslot and if the current bit from the input data is a‘0’, the light source may be turned off during the timeslot. Other, morecomplex modulation schemes may be utilized such as amplitude, phase, orpolarization modulation. In some examples, the light may be modulated ona sine wave.

The light produced by the light source then travels over an opticalcommunication path to the receiver. An optical communication path is thepath taken by the light source from the transmitting light source to thereceiving sensor. This path may be through one or more mediums, such asa single fiber optic fiber, air, or the like. In the example of FIG. 1the optical communication path travels across a single fiber optic fiber120. In examples in which the medium is air, the optical communicationpath may be the alignment of the transmitting light source and thesensor at the receiver.

The receiver includes a photo detector 125 and processing circuitry 130.The photo detector 125 collects a count of a number of photons detectedover a detection time period which corresponds to an amount of time thata single bit of the data stream 105 is transmitted. Based upon thephoton counts, the photo detector produces a data stream that is theninput to the processing circuitry 130 which applies an inverse operationthan that was applied by the processing circuitry 110 to produce datastream 135. The goal is to transmit data stream 105 to the receiver asfast as possible while having data stream 135 match data stream 105.

As previously noted, when using WDM, each communication path (e.g., eachfiber) may support simultaneous transmission of multiple light streamswhen each transmission is using a different light wavelength. Despitethe already high bandwidth of optical communications, as data needsgrow, more capacity is necessary. For example, the proliferation ofhigher quality video streaming; the popularity of connected sensors andcontrollable devices (e.g., such as Internet of Things devices); and theever-growing world population requires increased bandwidth andconnectivity. Once the bandwidth of a fiber run in a system utilizingexisting techniques such as WDM has been exceeded, increasing bandwidthrequires installing additional fibers, which may be difficult and/orexpensive to install.

While WDM increases the bandwidth of the medium, as will be made clear,it does not make use of the entire bandwidth available in the medium.Another solution to expand system bandwidth may be to utilize multiplepower levels to represent different bits in a form of amplitudemodulation (AM). For example, a ‘10’ might be represented by modulatinga sinusoidal wave with a first power level (a first amplitude) and a‘01’ might be represented by modulating a sinusoidal wave with a secondpower level (a second amplitude) and a ‘11’ might be represented bymodulating the sinusoidal wave with a third power level (a thirdamplitude). While increasing the number of bits that a particular lightsource may transmit, AM has a number of drawbacks. First, AM does notallow for two different transmitters with two different light sources totransmit simultaneously at a same wavelength and through the samecommunication path (e.g., fiber) as the receiver. Thus, this does notincrease the number of devices that may occupy a particularcommunication path (e.g., fiber). Second, AM does not allow fornon-sinusoidal waveforms. Finally, using AM, the receiver must know theexact power levels for each bit level ahead of time.

Other schemes similar to amplitude modulation include digital domainpower division multiplexing DDPDM with successive interferencecancellation. DDPDM linearly combines baseband signals (with bitstreamsin each signal) after coding and modulation to form a new signal whichis transmitted using a single light source. The receiver detects eachstream by demodulating and decoding the baseband signals one by one indescending order of power level using a successive interferencecancellation algorithm. This process estimates the channel response anddemodulates the strongest signal while treating the other signals asinterference. The estimated strongest signal is then re-modulated andmultiplied by the channel response before subtracting that product fromthe received signal. This process is then repeated until all signals aredecoded.

DDPDM schemes suffer from a number of drawbacks. First, as with AM, thisscheme does not increase the number of devices that can simultaneouslyuse the medium of a fiber. That is, while the scheme increases thenumber of streams that can be carried over a communication link, theDDPDM scheme utilizes a single light source. Using additional lightsources would likely produce destructive interference that would preventsuccessful demodulation of the signal at the receiver. Even if theproblem of reducing destructive interference was solved, since thedecision regions in AM and DDPDM (the photon count region correspondingto a detected bit combination) are equal for each bit combination, theDDPDM and AM systems would have difficulty in situations where differenttransmitters have slightly different power levels. Finally, thedecoding, demodulation, and interference cancellation of DDPDMcommunications are very complicated and require significant processingresources. For example, DDPDM demodulates and remodulates a same signalseveral times at the receiver. This increases device cost and/ordecoding time.

Disclosed in some examples, are optical devices, systems, andmachine-readable mediums that send and receive multiple streams of dataacross a same optical communication path (e.g., a same fiber opticfiber) with a same wavelength using different light sources transmittingat different power levels—thereby increasing the bandwidth of eachoptical communication path. Each light source corresponding to eachstream transmits at a same frequency and on the same opticalcommunication path using a different power level. The receiverdifferentiates the data for each stream by applying one or moredetection models to the photon counts observed at the receiver todetermine likely bit assignments for each stream. An example detectionmodel may be a Poisson distribution around an average number of photonsreceived for a given bit assignment combination. As a result, multiplestreams of data may be sent on a single optical link which may double,triple, quadruple, or more the bandwidth of a single channel on a singlelink.

The present disclosure solves the technical problem of efficientbandwidth utilization in optical communications without the drawbacks ofprevious approaches discussed above. For example, the present disclosureallows for multiple data streams transmitted using a single light sourceor multiple data streams transmitted using multiple light sources. Inthe present disclosure, any interference from multiple light sources areaccounted for by the detection models which are trained using any suchinterference. Also, due to the possibility that the models may haveunequal decision regions, the use of different light sources withdifferent power levels does not pose a problem like it does with AM andDDPDM. Furthermore, the models may adapt over time to factor in agingtransmitter circuitry. In contrast to DDPDM, the present disclosure doesnot require remodulation of a received signal by doing a successiveinterference cancellation. Instead, the present disclosure utilizesaverage photon counts for a particular bit combination. Because thedisclosed detection models are relatively simple probabilitydistributions, the process of decoding and demultiplexing the datastreams may use comparatively simple, cheap, and fast hardware and/orsoftware to demultiplex the input rather than needing more complexhardware such as necessary in approaches using successive interferencecancellation.

As optical power is a function of the number of photons and thewavelength, if the wavelength is kept constant, the power is thereforedependent on the number of photons. Thus, for a given wavelength, apower increase is an increase in photons being transmitted over thefiber. The probability of a particular number of photons striking thephotodetector in the receiver during a particular time period (e.g., thetime period for sending a data bit) for a given power level of the lightsource is described by a Poisson probability distribution where themedian and the range of this probability distribution is related to thepower level of the light source. As noted, an increase in power levelincreases the number of photons transmitted and thereby also increases aprobability of more photons striking the receiver—thus causing a shiftin the Poisson probability distribution.

FIG. 2 shows a graph 200 of three Poisson probability distributionscorresponding to three different power levels graphed with probabilityas a y-axis and received photon count as the x-axis according to someexamples of the present disclosure. FIG. 2 illustrates a firstprobability distribution 220 of a light source activated at a firstpower, a second probability distribution 225 of a light source activatedat a second power (the second power is greater than the first power),and a third probability distribution 230 of a light source activated ata third power (the third power is greater than the second power) for agiven wavelength on a same optical communication path. As noted above,as the power level of a light source increases, the number of photonsoutput by the light source increases. This increases the number ofphotons that may be expected to strike the receiver which shifts theprobability distributions to the right on the graph of FIG. 2 andflattens the curve (as more variation is to be expected with higherphoton counts).

As noted above, the present disclosure utilizes one or more detectionmodels to determine bit values for each bit in each stream that istransmitted over a same optical communication path (e.g., a same fiber)and a same wavelength but using different power levels. The detectionmodels may be Poisson probability distributions. For example,probability distributions 220, 225, and 230 may serve as detectionmodels. The first probability distribution 220 may model the probabilitythat a particular photon count observed at the receiver is caused by thefirst light source corresponding to a first stream at a first powerbeing switched on and the second light source corresponding to a secondstream being switched off. In a simple modulation scheme where the lightsource being ‘on’ for the detection period is interpreted as a ‘1’ andthe light source being ‘off’ for the detection period is interpreted asa ‘0,’ the first probability distribution 220 thus models a probabilityof a corresponding bit value for the first stream of ‘1’ and ‘0’ for thesecond stream—denoted in the figure as (1,0).

A second probability distribution 225 models the probability that aparticular photon count observed at the receiver is caused by the secondlight source being activated corresponding to a second stream at asecond power being on and the first light source corresponding to thefirst stream is off. Under the aforementioned simple modulation scheme,the second probability distribution 225 thus models a probability of acorresponding bit value for the first stream of 0 and 1 for the secondstream—denoted in the figure as (0,1). The second power level is greaterthan the first power level.

A third probability distribution 230 models the probability that aparticular photon count observed at the receiver is caused by both thefirst and second light sources being activated (and thus more photonsare expected to strike the receiver). The third probability distribution230 thus models a probability of a corresponding bit value for the firststream of 1 and 1 for the second stream—denoted in the figure as (1,1).Multiple light sources that are activated at a same time will producemore photons then each individual light source—thus, shifting aprobability distribution even farther to the right. Additionally, therange will increase with power as well—flattening out the Poissondistributions as the additional photons also introduces the potentialfor more variance.

Thus, the receiver may utilize the observation that the photon countsobserved at the receiver follow Poisson distributions based upon thepower level of the light source to determine each bit for each bitstream even when both light sources are active at the same time. Thereceiver may observe the number of photons striking the receiver andcalculate the probabilities that the photon count was produced by thefirst light source alone using the first probability distribution 220,the second light source alone using the second probability distribution225, and a combination of the first and second light sources using thethird probability distribution 230. Based upon these probabilitycalculations a decision may be made using decision logic whether a bitfor a first stream is ‘0’ or ‘1’ and whether a bit for a second streamis a ‘0’ or ‘1.’ In one example, the decision logic may be to selectbits associated with a detection model corresponding to the highestprobability given the observed photon count. For example, if the highestprobability is that the photon count was produced by the first lightsource alone, the first stream may be assigned a bit value of ‘1’ andthe second stream may be assigned a bit value of ‘0.’ Alternatively, ifthe highest probability is that the photon count was produced by thesecond light source alone, the first stream may be assigned a bit valueof 0 and the second stream may be assigned a bit value of 1. Finally, ofthe highest probability is that the photon count was produced by bothlight sources, then both streams may be assigned a 1. This scheme may berepeated until the transmitters have finished transmitting data.

As an example, a photon count 240 observed at the receiver may have afirst probability 245 according to the first probability distribution220 and a second probability 250 according to a second probability modeland a zero or near zero third probability 255 according to the thirdprobability distribution 230. As first probability 245 is greater thanboth second probability 250 and third probability 255, probabilitydistribution 220 may be selected—thus it is most probable that thephoton count observed was caused by the first light source activated atthe first power level and the second light source being off. Since a ‘1’is represented in this example by turning the light source on and a zerois represented by the light source being off—the most probable bitassignment of the first stream is 1 and for the second stream, the mostprobable bit assignment is 0.

As used herein, a detection region for the detection model is a range inwhich a signal, or an observed value (such as a photon count) of asignal has a non-negligible probability of assignment to a particularbit value. In the example of FIG. 2, the detection region may be theregion underneath the distributions 220, 225, and 230. The detectionregion may be a region in which a probability of assigning a particularbit or bit combination to one or more bitstreams is above apredetermined threshold (e.g., a non-negligible value). As can beappreciated, the detection regions for the bit assignment 10 is of adifferent size than the detection region for bit assignment 01 andlikewise from bit assignment 11. The differing sizes reflects thereality that different light sources operating at different power levelsmay produce different photon count signatures.

FIG. 3 illustrates a method 300 performed by a receiver according tosome examples of the present disclosure. At operation 310 the receivermay determine a photon count of photons observed during a predeterminedperiod of time. The predetermined period of time may be a period of time(e.g., a timeslot) whereby the transmitters and receivers aresynchronized to transmit one or more bits of a bit stream (e.g., bits ofa packet). At operation 315, the receiver determines a first probabilityusing the photon count and a first detection model that a first lightsource corresponding to a first data stream is on at a first power leveland a second light source corresponding to a second data stream is off.At operation 320, the receiver determines a second probability using thephoton count and a second detection model that a first light sourcecorresponding to a first data stream is off and a second light sourcecorresponding to a second data stream is on at a second power level. Atoperation 325, the receiver determines a third probability using thephoton count and a third detection model that the first light source ison at the first power level and the second light source is on at thesecond power level.

At operation 330, the system may determine bit values for the first andsecond data streams based upon the first, second, and thirdprobabilities. For example, a model producing a highest probabilityvalue may be selected and bit values corresponding to that model may beassigned to the bit stream. As noted, the detection models maycorrespond to bit-values of the various data streams. For example, alight source being on during the predetermined period of time (e.g.,timeslot) may indicate a ‘1’ of the bit stream and a light source beingoff indicates a ‘0.’ In these examples, the first detection model mayindicate a probability, for a given photon count, that a bit of thefirst stream is a ‘1’ and a bit of the second stream is a ‘0.’ In sonicexamples, a value of ‘0’ for both bit streams may be determined (e.g.,before operations 315, 320, and 325 or during operation 330) bycomparing the photon count to a predetermined minimum threshold. Inother examples, a separate model may be used for a value of ‘0’ for bothbit streams.

The present disclosure thus improves the functioning of a datatransmission system by providing an improved transmission scheme thatprovides increased utilization of existing physical resources. Bydifferentiating between multiple streams based upon detection modelssuch as photon count probability models, each channel may carry multiplestreams of data which increases overall system bandwidth significantly.This bandwidth increase may allow for additional users via additionaldevices or additional streams for each user (e.g., increase of aconnection bandwidth for a particular user) over a same fiber. Thedisclosed techniques thus solve the technical problem of bandwidthshortages by utilizing detection models, such as photon countprobability models to more efficiently utilize the currently availablebandwidth rather than adding new bandwidth by adding additional fibers.

Power Level Assignments

As described above, each light source sending data across the opticalcommunication path activates at different power levels. In someexamples, the power levels of each light source may be fixed—that is,one or more of the transmitting light sources may be fixed to alwaysactivate at a particular power level that is different than other lightsources in the system. This system may be simple and may be appropriatein certain situations such as where one light source is much morepowerful than another light source. In these examples, no coordinationor power level adjustments may be necessary as each light sourcenaturally activates at a different power than the other light sources.

In other examples where the light sources have similar output powersand/or may have adjustable power outputs, the power levels of each lightsource may be set by assigning a power level to each light source via apower level assignment scheme. The power level assignment scheme is anyformula or plan that is used to coordinate differing power levels acrosstwo or more transmitters. The power level assignment scheme may bedivided into one or more phases. A phase specifies a unit of a powerlevel assignment scheme where each transmitter serviced by the scheme isassigned a power level for either a defined duration or until theoccurrence of a defined event. The duration may be time-based, datalength-based (e.g., a defined number of timeslots), or the like. In someexamples, the detection models used by the receiver may be specific tothe current phase of the power level assignment scheme. Power levelassignment schemes may be described by one or more data structures. Forexample, a formula, table, chart, or other indicator.

In some examples, the receiver may assign a power level assignmentscheme. In other examples, the transmitters may mutually agree upon apower level assignment scheme. In examples in which the transmittersmutually agree on the power level assignment scheme, an agreementprotocol may be utilized such as a majority voting algorithm where apower level assignment scheme is chosen as the scheme with the highestnumber of votes by the transmitters. The determination of a power levelassignment scheme may include a selection of a power level assignmentscheme from a determined list of power level assignment schemes and mayinclude a customization of the selected power level assignment scheme.

When using a majority voting algorithm, each transmitter may vote forthe power level assignment scheme that best matches a transmitterpolicy. The transmitter policy may vote a power level assignment schemethat most closely meets one or more policy goals such as bandwidth,error rate, quality of service (QoS), power consumption, heat output,and the like. These policy goals may be represented by an indication inthe policy of a desired number of phases in which the transmitter is totransmit on high power. The number of phases at high power is arepresentation of the policy goals as high power phases increasebandwidth, decrease error rate, increase QoS, but also increase powerconsumption and heat output. Thus, devices prioritizing low batteryusage would desire fewer high power phases. In contrast, devices wantinghigh QoS and high performance would desire more high power phases. Therating for each particular power level assignment scheme may bedetermined based upon how many high power phases are assigned to thetransmitter for the particular power level assignment scheme incomparison to the desired number of high power phases.

In examples in which the receiver assigns a power level scheme or whereone of the transmitters makes determinations for the entire system, thedetermination (the selection, creation, and/or customization) of thepower level assignment scheme may be made without knowledge of thecapabilities of the transmitters. In other examples, the determination(the selection and/or customization) of the power level assignmentscheme may be based upon light source, data stream, and/or devicecharacteristics. These characteristics may be exchanged amongst thetransmitters and the receiver. Example, light source characteristics mayinclude attainable power levels of the light source, type of lightsource (e.g., Light Emitting Diode (LED) or Light Amplification byStimulated Emission of Radiation (LASER)), and the like. Devicecharacteristics may include a heat budget, power budget, battery life,and the like. Data stream characteristics may include an expected QoSpriority, expected bandwidth requirements for the stream, expected datarate, or the like.

As an example, consider a simple power level assignment scheme in whichtwo data streams are utilized with two power levels where a first phasemay have the first stream transmitting using a light source selectivelyactivated at a high power level and the second stream transmitting usinga light source selectively activated at a low power level and a secondphase with the first stream selectively transmitting with a light sourceactivated at a low power level and the second stream selectivelytransmitting with a light source activated at a high power level. Thephases may repeat as long as data is being sent. Phases may last adetermined time, a determined number of bit transmissions (e.g., adetermined number of timeslots), or until the occurrence (ornon-occurrence) of a particular event. Thus, the scheme may change powerlevels every x-bits—where x is a determined number of bits (where xcould be 1), every x periods of time, at the occurrence of a determinedevent, and the like.

The power level assignment scheme may be evenly distributed in that thepower levels are assigned such that each light source may have an equal,or near equal (e.g., +/−10%) time that it activates at each power level.In other examples, the power level assignment scheme may beasymmetrically distributed such that one light source may activate at ahigher or lower power level more often. This may be the result ofconsiderations related to the light source, data stream, and/or devicecharacteristics of the transmitter. For example, some transmitters mayhave heat and/or power budgets that govern how much power they may useto supply to the light source. For example, if the light source operatesover a particular power a battery of the transmitter may be dischargedtoo quickly. Additionally, operation at high power levels mayunacceptably increase a heat that the device puts out. If one of thelight sources has higher heat and/or power levels, this light source maybe assigned to activate at a higher power level for longer periods oftime to keep both light sources within the power and/or heat budgets.This may be accomplished by adjusting the phase durations. If thetransmitters supply information on heat dissipation and power usage ofthe light sources, the system may calculate an optimal power levelassignment scheme that keeps all light sources within their power leveland/or heat dissipation budgets. Expected QoS priorities and bandwidthrequirements may also be considered. For example, a light sourcecorresponding to a data stream that is low priority data or utilizinglower bandwidths may be assigned to use lower power levels for longerthan light sources with high priority or high bandwidth data to send.

For example, an asymmetric phase distribution for a power levelassignment scheme may utilize transmitter power budgets (e.g., which maybe set by a user, an administrator, a manufacturer, or the like) whichspecify power limits for a total power spent by the light source over aparticular time period. In these examples, the system may determine howlong each transmitter may activate its light source at the high powerand the low power to keep itself within its power budget and use thosecalculations to set the duration of each phase. For example, by solvingx such that both of the following equations are true and selecting theanswer that is closest to being equal to the power budgets of eachtransmitter without going over:

$\begin{matrix}{{\left( {{Power_{L}*\left( {1 - x} \right)*Time_{P}} + {{Power}_{H}*(x)*Time_{P}}} \right)*\frac{{Time}_{P}}{Time_{z}}} \leq {{Power}\mspace{14mu} {Budget}_{{trans}\; 1}}} & {{Equation}\mspace{14mu} 1} \\{{\left( {{{Pow}er_{L}*(x)*{Time}_{P}} + {Power_{H}*\left( {1 - x} \right)*Time_{P}}} \right)*\frac{Time_{P}}{Time_{z}}} \leq {{Power}\mspace{14mu} {Budget}_{{trans}\; 2}}} & {{Equation}\mspace{14mu} 2}\end{matrix}$

Where x is the proportion of phases spent at a high power level,Power_(L) is the power needed to activate the light source on the lowpower level, Power_(H) is the power needed to activate the light sourceon the high power level, Time_(P) is the total time spent in each phaseof the power level assignment scheme. The above equations assume thatthe light source would be transmitting 100% of the time in the phase.Thus, in some examples, the left sides of each equation may be adjustedto factor in an expected duty cycle during the phase (which may be 50%assuming on average that the data is well distributed between ‘1’s and‘0’s). Time_(Z) is the time-frame the Power Budget is measured in. Thus,

$\frac{{Time}_{P}}{{Time}_{z}}$

corresponds to the number of phases that elapse in the power budget.

In other examples, the power level assignment scheme may be determined,in whole or in part, upon a Quality of Service (QoS) of the data to betransmitted. A light source transmitting a data stream carrying higherpriority data (as determined by QoS metadata of the stream) may beassigned a higher power level to increase. In some examples, the phasesof the power level assignment scheme may be changed on apacket-by-packet basis as the various QoS of the data to be transmittedchanges. In other examples, the power level assignments may be changedas a result of higher priority QoS data and then changed back after apredetermined period of time. QoS approaches may supplement or overrideother approaches such that a power level assignment scheme may bemodified to support QoS. As an example, a scheme in which the powerlevel is alternated may extend or reduce the time left on a currentphase in order to transmit data with higher priority data on a higherpower level. Thus, a time frame for each scheme may be set initiallythrough consideration of power budgets as described above, but thetiming of each phase may be modified based upon QoS data and expectedbandwidth needed for the QoS data. In some examples, QoS approaches maywholly dictate the power level of the streams—such that the stream withthe highest priority data is selected to transmit at the highest powerlevel. In other examples, a QoS of the data may be a factor in theselection and/or modification of a power level assignment scheme.

Other characteristics may be utilized to select or modify a power levelassignment scheme. For example, the heat budget may be utilizedsimilarly to the power budget (as heat and power are correlated). Forexample, a heat budget may be converted to a power budget and used aspreviously described. Similarly, battery life may be considered suchthat as the battery life of the device gets lower, the proportion oftime spent transmitting at a high-power level may be reduced. Forexample, if the battery level reported by a transmitter goes lower thana first threshold, then a time duration of a phase in which thattransmitter activates the light source at the higher power level may bereduced (e.g., either by a static predetermined amount, or by apredetermined amount based upon the remaining battery life, or by someother calculation that uses the remaining battery life). In someexamples, if the other participants are also low on battery power, blankperiods may be inserted into the power level assignment scheme wherenone of the transmitters transmits.

Other factors such as expected bandwidth requirements and data rate maybe utilized similar to QoS requirements in that they modify the phasetiming. For example, in order to achieve a particular data rate, thesystem may allocate additional time for a device at the highest powerlevel in order to ensure that errors that may be caused by transmittingat a lower power rate do not lower the data rate. The particular datarate of one device may be balanced against competing data rates of otherdevices. For example, if both transmitters request a highest data rate,the system may not favor one device. On the other hand, if onetransmitter requests a higher data rate than the other, the devicerequesting the higher data rate may receive additional time transmittingat the higher power level. In still other examples, the system maydedicate a particular phase exclusively to a particular transmitter andinstruct the transmitter to use an amplitude modulation on that phase.

In some examples, a plurality of the described factors may be utilizedin combination by an algorithm to select a power level assignmentschemes from a set of power level assignment schemes. Example selectionalgorithms may include machine learning algorithms, a plurality ofif-then-statements, a decision tree, a random forest algorithm, and thelike. Machine learning algorithms may be trained with feature datacorresponding to the above-mentioned factors and labeled (e.g., manuallylabelled) with an appropriate power level assignment scheme. An examplemachine learning system is given in FIG. 14. The power level assignmentschemes may be configurable such that a duration of each phase maychange based upon the above-mentioned factors.

In an example selection algorithm, each possible power level assignmentscheme of a plurality of schemes may be scored based upon how closelythe power level assignment scheme matches the characteristics of thecommunicating devices (e.g., transmitters and the receiver). Forexample, for each characteristic used, a subscore may be generated. Thescores may be calculated by one or more of the transmitters, by thereceiver, or the like.

The score for a particular power level assignment scheme may be thesummation of the subscores. For example, for a subscore corresponding toa power budget, the system may determine how well the particular powerlevel assignment scheme matches the power budgets of the transmitters(with or without modifications as described above). As one example, thescore may be based upon a difference between the value calculated on theleft side of equations 1 and 2 and the power level budgets on the rightside of the equations. As this difference grows, the fit between thetransmitting devices and the power level assignment scheme is lessdesirable. In some examples, a predetermined number of points may beassigned to this subscore and the difference between the left and rightsides of both equations 1 and 2 may be subtracted from this amount.

As another example, points may be assigned based upon an anticipated QoSof the data to be transmitted and how well the particular power levelassignment scheme fits that QoS classes for both transmitters. Thesepoints may be determined by consulting a table that matches power levelassignment schemes with point values for various QoS classes. Eachtransmitter's point value for its expected QoS class (as determined bythe table) may be summed to produce the QoS subscore. Similarly,anticipated or desired data rates may be evaluated against potentialpower level assignment schemes—again, using a table with a point valuesfor each power level assignment scheme and each desired data rate.Likewise, a battery level of a device corresponding to one or moretransmitters may be factored in. Power level assignment schemes may berated based upon their power consumption (with higher ratings for morepower consumption). Transmitting devices may be rated based upon theirbattery life left (with higher ratings denoting more battery powerleft). The subscore for the battery level may be the power levelassignment scheme power consumption rating minus the battery life ratingfor each transmitter. These subscores may be summed to produce a finalscore for each power level assignment scheme.

The power level assignment scheme may then be chosen based upon thesescores. For example, the power level assignment scheme with the highestscore may be chosen. In some examples, the various subscores may beweighted. The weights may be determined manually by an administrator ofthe system or may be learned using one or more machine learningalgorithms as detailed with respect to FIG. 6 and the discussion below.

Power level assignment schemes may be determined before datatransmission and may be changed in response to the addition of a newdata stream (either adding a light source, or adding a stream to betransmitted with a light source), the changing of one or morecharacteristics of the stream and/or light source, degradation of thelight source over time, and the like. For example, scores of the powerlevel assignment scheme may be calculated periodically based uponupdated characteristic information. If a different power levelassignment scheme scores more than a threshold score higher than thecurrent power level assignment scheme, the power level assignment schememay be changed. In some examples, the scheme is periodically changed asa matter of course.

FIG. 4 shows a schematic 400 of an example power level assignment schemeaccording to some examples of the present disclosure. A firsttransmitter 405 and a second transmitter 410 are shown, with eachtransmitter comprising a light source. First transmitter and secondtransmitters may be on a same device (e.g., different streams on a samedevice) or different devices, In some examples, transmitters 405 and 410are example transmitters 1205 and 1250 of FIG. 12. A power levelassignment scheme with power level assignments 420 is shown for thefirst transmitter 405 along with power level assignments 430 for thesecond transmitter 410. Shown in FIG. 4, the power level assignmentscheme has two repeating phases. A first phase where the firsttransmitter activates its light source using a low power and the secondtransmitter activates its light source using a high power. A secondphase where the first transmitter activates its light source using ahigh power and the second transmitter activates its light source usinglow power. The first and second phases then repeat in an alternatingfashion for each bit. While two power levels are shown (‘L’ for low and‘H’ for high), more than two power levels may be utilized in a givenpower level assignment scheme. In FIG. 4, the power level assignmentscheme assigns each transmitter alternating power levels. That is, whenone transmitter is transmitting on high, the other is transmitting onlow. Furthermore, in FIG. 4, the power level changes with each bit—thatis, the phases change with each bit—but in other examples, the powerlevel assignment scheme may change power levels (phases) after a numberof bits, a defined period of time, or the like.

Example bit streams 415 and 425 are shown along with a sample of a graphof the power level of the light source (y-axis) over time (x-axis) foreach bit transmitted by each transmitter. For example, the first bitwith a value of ‘1’ is transmitted at a low power level by the firsttransmitter. By turning off the light source, second transmittertransmits a ‘0’. This is detected by the receiver who is aware of thepower level assignment scheme and the current phase of the power levelassignment scheme. As shown in the figure, at the receiver side, thepower level assignment scheme is represented at 440 for each phase by atuple with the first item being a power assigned to the firsttransmitter and the second item being the power level assigned to thesecond transmitter, So, the first bit is (L,H) to signify that the firsttransmitter would transmit a ‘1’ at a low power level and the secondtransmitter would transmit a ‘1’ at the high power level.

The receiver counts the number of photons received during the periodthat a first bit is transmitted (e.g., a first timeslot). The graphshows the number of photons detected (y-axis) over time (x-axis) foreach timeslot. The receiver then chooses a detection model set 450 or455 based upon the current phase. In the example shown in FIG. 4, eachphase corresponds to a different timeslot. Model sets 450 and 455include multiple detection models. With respect to the first detectionperiod, since the phase is (L,H) the detection model set 450 is chosenas that set of models corresponds to the (L,H) phase of the power levelassignment scheme. Matching the detection models to a phase of a powerlevel assignment scheme may increase detection accuracy as differenttransmitters may have slightly different power levels. Thus, ahigh-power level for the first transmitter 405 may be slightly differentthan the high-power level for the second transmitter 410—even if a lowpower level may be similar. In the example shown, the photon counts havea highest probability of being a ‘1’ for the first stream and ‘0’ forthe second stream according to the detection models, (1,0) isassigned—where ‘1’ is for the first stream and ‘0’ is for the secondstream.

At the second bit, the power level assignments reverse, however no hitis transmitted by either transmitter, so the receiver determines thatthe bit assignments should be (0,0) by using the set of detection model455. In some examples, rather than using a particular detection model,if the photon count is below a determined threshold, then the bit streamassignments may be set at (0,0). The power level assignments revert backto the first phase at the third bit. This time, both light sources areon and the receiver utilizes the detection models 450 to determine thatthe bit assignments should be (1,1). This continues until communicationceases. The bit assignments for the streams are shown at 435 with stream1 listed before stream 2.

Note that the first and second transmitters may be time synchronized.This may be accomplished through a variety of mechanisms, such as aNetwork Time Protocol (NTP), a Precision Time Protocol (PTP), aReference Broadcast Time Synchronization, or the like. In some examples,the receiver may act as the time server.

FIG. 5 illustrates a flowchart of a method 500 of a transmitterimplementing a power level assignment scheme according to some examplesof the present disclosure. Prior to the operations of FIG. 5, thetransmitter may identify or determine the current power level assignmentscheme. At operation 510 the transmitter may receive data to transmitfrom a data stream. For example, a data stream from a higher layer in anetwork protocol stack. In some examples, the transmitter may be in adevice that has a higher layer that splits a single data stream tomultiple data streams for simultaneous transmission in examples where asame device has multiple light sources. At operation 512, thetransmitter may determine the current phase of the power levelassignment scheme. The process for determining the phase depends on thepower level assignment scheme. For example, if the power levelassignment scheme is based upon a timer—e.g., each phase lasts apredetermined period of time, then a timer value may be used todetermine the phase. In some examples, the timer value may be a multipleof a timeslot length. FIG. 6 illustrates a flowchart (discussed in moredetail below) of a method 600 of tracking a phase according to a powerlevel assignment scheme that is timing based according to some examplesof the present disclosure. If the power level assignment scheme is basedupon a bit count (e.g., each phase lasts a predetermined amount of bitsthat are transmitted), then the phase may be determined based upon thebit count that has elapsed since the last change. FIG. 7 illustrates anexample of tracking a phase (discussed in more detail below) accordingto a power level assignment scheme that is based upon a bit numberaccording to some examples of the present disclosure.

In examples in which the phase is based upon a QoS, the phase may bedetermined by a stream having data to be transmitted having the highestQoS value. For example, every predetermined period of time, thetransmitters may communicate their respective QoS values of data intheir transmission queues to each other and the receiver—either throughthe fiber or out-of-band through another communication mechanism. Thetransmitter with the highest QoS data activates its light source at thehighest power level, and the power level assignment scheme is advancedto the phase corresponding to that transmitter transmitting at thehighest power level. In other examples, a phase may be accelerated orchanged based upon QoS properties, but otherwise determined by the otherdescribed mechanisms (e.g., time or bit count).

With reference back to FIG. 5, at operation 515, the transmitter maydetermine a power level based upon a selected power level assignmentscheme and the determined phase. At operation 520, the transmitter maytransmit the data as light pulses at the determined power level byturning the light source on or off. The light source, if turned on, isturned on at the determined power level. In some examples, rather thanturning the light source on or off, the transmitter may remove anobstruction that blocked the light produced by the light source fromentering the fiber optic fiber (or other medium) or otherwise directingan already activated light to the fiber (e.g., moving a mirror to directthe light).

FIG. 6 illustrates an example method 600 of tracking a phase accordingto a power level assignment scheme that is timing based according tosome examples of the present disclosure. At operation 610, the systemdetermines an initial phase based upon the power level assignmentscheme. For example, a first transmitter may be assigned a particularpower level at a first phase and a second transmitter may be assigned adifferent power level at a first phase. In some examples, thetransmitters may be assigned a first phase by the receiver or byagreement between the transmitters, but in other examples a contentionresolution method is utilized. For example, each transmitter maygenerate a random number, or have a random number programmed onto it.The transmitters may exchange the random numbers and the lowest (orhighest depending on the implementation) number utilizes the high-powerlevel for the first phase. An indicator may be set to indicate the powerlevel and the current phase in memory of the transmitter.

At operation 615, a timer may be set based upon the phase timingspecified in the power level assignment scheme. In some examples, eachphase may be the same time duration, but in other examples, two phasesmay differ in duration. In still other examples, phases may be variableduration depending on one or more events, factors, or characteristics(e.g., of the device, the transmitter, the light source, the datastream, or the like). At operation 620, the timer expires. At operation625, the indicator is set to the next phase and/or power level basedupon the power level assignment scheme. In power level assignmentschemes that are time based, the operations of 512 of FIG. 5 maycomprise reading the phase indicator.

FIG. 7 illustrates an example method 700 of tracking a phase accordingto a power level assignment scheme that is bit-count based according tosome examples of the present disclosure. At operation 710, the systemdetermines an initial phase based upon the power level assignment schemeand sets an indicator to indicate this initial phase. This may be doneusing the method described for operation 610 of FIG. 6. At operation715, a bit counter may be set to zero to clear it. At operation 720 thebit counter is incremented when a bit is communicated (either a ‘1’ or a‘0’). For example, when a predetermined period of time (timeslot)elapses. In some examples, a bit is communicated either when the lightsource is turned on to send a ‘1’ or kept off to send a ‘0’. In otherexamples, the bit counter may count only when the light source is turnedon. Examples in which the bit counter counts only when the light sourceis turned on may be utilized when a transmitter wishes to keep a powerusage under a power budget. At operation 725 a comparison is madebetween a bit counter and a threshold. If the bit counter is greaterthan, or equal to the threshold, then at operation 730, the phase isincremented, the indicator is updated, and operation proceeds tooperation 715 where the bit counter is reset. If at operation 725, thebit counter is not over than, or equal to, the threshold, then the bitcounter continues being incremented as bits are transmitted at operation720. FIG. 7 illustrated a bit counter, but other data sizes may beutilized such as bytes, kilobytes, megabytes, gigabytes, terabytes, andthe like.

FIG. 8 illustrates an example method 800 of tracking a phase accordingto a power level assignment scheme that is QoS based according to someexamples of the present disclosure. At operation 810 the systemdetermines a QoS indicator of data of a first stream assigned to a firsttransmitter. The data may be a packet, a portion of a packet, aplurality of packets, or the like. For example, a communicationsapplication may be sending streams of communication data that may havean associated QoS level. The QoS level may be determined by messagingfrom a higher level of a network stack, an indicator in the packet(e.g., a packet header), or the like.

At operation 815 the system determines a QoS of data of a second streamassigned to a second transmitter. The data may be a packet, a portion ofa packet, a plurality of packets, or the like. For example, acommunications application may be sending streams of communication datathat may have an associated QoS level. The QoS level may be determinedby messaging from a higher level of a network stack, an indicator in thepacket (e.g., a packet header), or the like.

At operation 820, the phase may be set based upon a comparison of thefirst and second QoS values. For example, a phase may be selected wherethe stream with the highest QoS may have a highest power level assigned.In other examples, where more than two streams are utilized and morethan two QoS levels are determined, the highest power level may beassigned to a highest QoS, a second highest power level may be assignedto a second highest QoS, and so on. In case of a tie between QoS levels,the system may have the transmitters alternate transmitting at a highpower level.

While the above-mentioned example power level assignment schemesutilized a single power level per phase for each transmitter, in otherexamples, a plurality of power levels may be grouped into a plurality ofpower level groups. For example, a highest power group of power levels,a middle power group that has power levels that are lower than those inthe highest power group, and a low power group that has power levelsthat are lower than those in the middle power group. Each transmittermay be assigned to different power groups (e.g., based upon the QoSdata) and may transmit using any of those power levels in the group. Insome examples, the groups may be useful in utilizing amplitudemodulation on top of the techniques disclosed in the present invention.In other examples, within the power group, the power level assignmentscheme may be defined that specifies a power level for the transmitterat a particular timer and/or bit count within that power level grouping.

Once a phase based upon a QoS level is set, the power levels may bemaintained indefinitely, until the QoS of the data changes, until apredetermined period of time has elapsed (at which point method 800 maybe repeated), until a predetermined amount of data has been sent (atwhich point method 800 may be repeated), and the like.

Creating the Detection Models

Each light source may differ in an amount of photons given out as aresult of manufacturing variances and because real-world conditions(such as distance between the transmitter and receiver, fiber quality,bends in the fiber, and the like) may affect the number of photonshitting a receiver. Accordingly, the receiver may employ a trainingprocess to build detection models that are customized according to thesystem. The training procedure may comprise a series of one or moresteps where test bits of data are sent at one or more power levels byone or more of the transmitters—alone or in combination with each other.For example, for a two-transmitter system running a power levelassignment scheme with two alternating power levels, the receiver mayinstruct each transmitter to activate their light sources at each powerlevel separately and then at each power level together over the opticalcommunication path at a same frequency. The photons received for eachtest may he counted and used to build a detection model, such as aPoisson distribution model. In other examples, other models, such as amachine-learning model may be built using the photon counts and labelscorresponding to the light source producing the photon counts (and thusthe bit assignments). In order to coordinate the training, thetransmitters may be synchronized—e g., through the use of in-band(through the fiber optic) or out-of-band (through another network)communications.

As noted, the model training process may utilize photon counts detectedby the photon detector at the receiver to train the detection models toproduce probabilities of one or more particular bit combinations. Forexample, the system may instruct the transmitters to activate theirlight sources—alone or in combination—for each particular combination ofpower level and bit combination (and in some cases, multiple times).Thus, for example, for a system with two transmitters and a simple powerlevel assignment scheme that alternates each transmitter between twopower levels the possible (bit, power level) combinations are given byTable 1:

TABLE 1 Stream 1 Bit Stream 1 Power Stream 2 Bit Stream 2 Power 0 High 0Low 0 High 1 Low 1 High 0 Low 1 High 1 Low 0 Low 0 High 0 Low 1 High 1Low 0 High 1 Low 1 High

In table 1, the first four rows correspond to a first phase of a powerlevel assignment scheme and the second four rows correspond to a secondphase of the power level assignment scheme. The receiver may calculate aseparate detection model for each possibility shown above. For example,if the detection models are Poisson distributions, the system mayinstruct the transmitters to activate their light sources according toeach combination (e.g., according to the modulation scheme to producethe indicated bit) and calculate an average number of photons for thebit and power level combination (e.g., each row of Table 1).

Thus, for example, the system may have the light source for the firstbit stream transmit a ‘1’ by activating its light source at high poweralone. The photon counts observed at the receiver during this period maybe used to calculate a detection model for a bit combination of (1,0)for a first phase. The system may also instruct the light source of thefirst bit stream and the second bit stream to transmit a ‘1’ byactivating their light sources at their respective assigned power levelstogether. The photon counts observed at the receiver during this periodmay be used to calculate a detection model for a bit combination of(1,1) for the first phase. Next, the system may instruct the lightsource of the second bit stream to transmit a ‘1’ by activating itslight source at a low power (without the light source of the first bitstream being activated). The photon counts observed at the receiverduring this period may be used to calculate a detection model for thebit combination of (0,1). This process is repeated for the second phasewhere photon counts are observed for the bit combinations and powerlevels for rows 5-8 of table 1.

In some examples, a single measurement of photon counts is taken foreach of the combinations of transmitter and power level, but in otherexamples, multiple measurements are taken and an average is calculated.As noted, one example detection model is a Poisson distribution. Oneexample, Poisson detection model is:

${P\left( {{photon}\mspace{14mu} {counts}\mspace{14mu} t} \right)} = {e^{- \lambda}\frac{\lambda^{t}}{t!}}$

Where λ is the average number of photons calculated in the trainingprocedure, and t is the observed photons at the photon detector.

Instead of Poisson models, in other examples, other machine learningmodels may be utilized and calculated. These are explained in moredetail in FIG. 14. As noted, in some examples training data—and themodel created from that training data—may be specific to a particularpower level scheme phase. In other examples, negative training data thatcorresponds to power levels and/or bit combinations corresponding to anout-of-phase assignment may be utilized to train the machine learningmodel of characteristics of an invalid photon count. That is, themachine-learning model may recognize and correct for out-of-phaseoperation.

FIG. 9 illustrates a flowchart of a method 900 of training a detectionmodel according to some examples of the present disclosure. In someexamples, the detection model may simply be an average number of photonsobserved that may be utilized in a mathematical formula (the formula mayor may not be considered as part of the detection model) such as aPoisson distribution. In other examples, the detection models may bemore complicated data structures, such as neuron weightings for neuralnetworks, and the like.

At operation 910, the receiver may determine a particular phase to trainof a power level assignment scheme. For example, in a power levelassignment scheme with two phases, a first phase may be chosen fortraining first and then a second phase may be trained after the firstphase. In examples in which power levels are fixed, this step may not beperformed.

At operation 915, instructions are communicated to the receivers.Instructions may include what phase to utilize, what power levels toactivate the light source at (which may be communicated by indicatingthe phase in cases where there is a power level assignment scheme),whether to activate the light source, how long to activate the lightsource for, any particular bit sequence to use, and the like. In someexamples, the transmitter may be instructed to activate the light sourcemultiple times over a predetermined period of time to allow for thereceiver to take multiple measurements to produce an average photoncount. The instructions sent by the receiver may instruct the receiversfor each step—that is, during a first time frame a first transmitterwill activate its light source at the first power level, during a secondtime frame a second transmitter will activate its light source at thesecond power level, and during a third time frame, both transmitterswill activate their light sources at their respective assigned powerlevels.

At operation 917 the training step may be executed. At operation 917,the transmitters may activate or not activate at one or more powerlevels according to the instructions sent at operation 915. In someexamples, rather than send the instructions at once, each training stepmay be proceeded by instructions. At operation 917, the receiver mayalso determine photon counts for each bit combination in the determinedphase. For example, a first photon count (or average photon count in thecase of multiple measurements) at the first-time frame corresponding toa first power level of a first transmitter, a second photon count (oraverage photon count in the case of multiple measurements) at the secondtime frame corresponding to a second power level of a secondtransmitter, a third photon count at the third time frame (or averagephoton count in the case of multiple measurements), corresponding to athird power level produced by both the first second transmittersactivating their light sources at the respective first and second powerlevels.

At operation 920 the receiver may determine the models for theparticular phase based upon the collected photon counts or averagephoton counts. Each model may correspond to a particular light sourceactivated at a particular power level—and thus may correspond to aparticular bit assignment. At operation 925 a determination may be madewhether any other phases are present. If so, then operations 910-920 arerepeated for the other phases. if no other phases are present, then thetraining phase may end at operation 930. Once the training phase ends,the transmitters may send data to the receiver. The end of the trainingphase may be signaled by the receiver using a message, after a passageof a predetermined time (e.g., as indicated by the instructionscommunicated at operation 915), or the like.

FIG. 10 illustrates a flowchart of a method 1000 of executing trainingsteps and determining models according to some examples of the presentdisclosure. Method 1000 may be an example of operations 917 and 920according to some examples. At operation 1010 a first (transmitter,power level) combination is selected—e.g., from a table such as table 1.This corresponds to a bit assignment as noted previously. The set of(power level, transmitter) tuples may be dependent on the power levelassignment scheme and the order in which they are trained may be givenby instructions sent by the receiver—e.g., at operation 915. Thoseinstructions may also specify a time to turn a light source on and offand at what power. In other examples, the tuple may be communicated tothe transmitters along with an instruction to activate the light sourceprior to the time period for activating the light source (e.g., betweenoperations 1010 and 1020). At operation 1025, photon counts may bedetermined. In some examples, this may be an average photon count. Thisaverage is used to build the model (or may be the model or a portion ofthe model). At operation 1030, the receiver may determine if any othercombinations are left to be trained, and if so, then operations1010-1030 are repeated for those combinations. If not, then the methodends.

FIG. 11 illustrates a flowchart of a method 1100 showing a more specificimplementation of method 1000. The method 1100 may be an implementationof operations 917 and 920 from FIG. 9. The method 1100 is a method oftraining that may be applied to a single phase of a power managementsscheme in which there are two transmitters with two power levels.Additional operations may be performed for more transmitters. Theprocess of FIG. 11 may be repeated for additional phases. Additionally,operations 1140-1152 show the subsequent usage of the trained detectionmodels according to some examples of the present disclosure.

At operation 1110, the receiver calculates a first photon count ofphotons observed during a first-time period where a first light sourceis activated at a first power level on a first wavelength over a fiberand a second light source is not activated. In some examples, thereceiver, or another device, instructs the first light source toactivate prior to, or at the beginning of the first-time period.Likewise, the second transmitter may be instructed not to activate priorto, or at the beginning of the first-time period. In some examples, thephoton count is an average photon count.

At operation 1115, the receiver determines a first detection model fromthe first photon count, the first detection model producing an inferencefor whether a given photon count indicates that the first light sourceis activated at the first power level and the second light source is notactivated. For example, the detection model may be a Poissondistribution that may produce a probability that a particular photoncount was produced by the first light source at the first power (wherethe second light source is not activated). In other examples, thedetection model may be a machine-learning model as noted previously. Theoutput of the machine learning model may be a probability, a yes-noanswer, a confidence value, or the like.

At operation 1120, the receiver calculates a second photon count ofphotons observed during a second-time period where the second lightsource activates (turns on) at a second power level on the firstwavelength over the fiber and the first light source does not activate.As with the first-time period, in some examples, the receiver, oranother device, instructs the second light source to activate prior to,or at the beginning of the second time period. Likewise, the firsttransmitter may be instructed not to activate prior to, or at thebeginning of the second time period. In some examples, the photon countis an average photon count.

At operation 1125, the receiver determines a second detection model fromthe second photon count, the second detection model producing aninference for whether a given photon count indicates that the secondlight source is activated at the second power level and the first lightsource is not activated. For example, the detection model may be aPoisson distribution that may produce a probability that a particularphoton count was produced by the second light source at the second power(where the first light source is not activated). In other examples, thedetection model may be a machine-learning model as noted previously. Theoutput of the machine learning model may be a probability, a yes-noanswer, a confidence value, or the like. The type of model used for thefirst detection model may be a same type of model used for the seconddetection model, or a different type of model.

At operation 1130, the receiver calculates a third photon count ofphotons observed during a third-time period where the first light sourceactivates at the first power level and the second light source activatesat the second power level. Both the first and second light sourcesactivate on the first wavelength over the fiber. As with the first andsecond time periods, in some examples, the receiver, or another device,instructs the first and second light sources to activate prior to, or atthe beginning of the second time period. In some examples, the photoncount is an average photon count.

At operation 1135, the receiver determines a third detection model fromthe third photon count, the third detection model producing an inferencefor whether a given photon count indicates that both the first andsecond light sources are activated at the first and second power levels,respectively. For example, the detection model may be a Poissondistribution that may produce a probability that a particular photoncount was produced by the first light source at the first power and thesecond light source at the second power. In other examples, thedetection model may be a machine-learning model as noted previously. Theoutput of the machine learning model may be a probability, a yes-noanswer, a confidence value, or the like. The type of model used for thefirst detection model, second detection model, and third detection modelmay be a same type of model, or a different type of model.

While operations 1110-1135 are described in connection with a simplemodulation scheme where a light source being activated during the timeslot indicates a ‘1’ and a light source being off during the time slotindicates a ‘0.’ In other examples, the system may train a model basedupon other types of modulations. For example, an amplitude modulationmay be utilized and the system may train those models as well. In theseexamples, “activation” of the light source means to transmit a value of‘1’ according to the selected modulation scheme and turning the lightsource off means to transmit a value of ‘0’ according to the selectedmodulation scheme. In some examples, amplitude modulation schemes maycombine with the presently disclosed scheme to allow sending multiplebits per stream per timeslot using power level groups. In theseexamples, the system may learn a model for all possible bit groupings.

Once the models are determined, they may be used to determine bitassignments of streams of bits transmitted by the transmitters. Forexample, at operation 1140, the receiver may receive, during afourth-time period, a transmission. The transmission may be receivedover the optical communication path (e.g., over a fiber optic fiber) atthe first wavelength. At operation 1145, the receiver may determine aphoton count of the transmission received at operation 1140. Atoperation 1150, the receiver may determine a first probability that thetransmission resulted from activation of the first light source at thefirst power level using the first detection model, a second probabilitythat the transmission resulted from the second light source activated atthe second power level using the second detection model, and a thirdprobability that the transmission resulted from the first and secondlight source activated together using the third detection model. Atoperation 1152, the receiver may assign bit values to a first datastream corresponding to the first light source and a second data streamcorresponding to the second light source based upon the first, second,and third probabilities, the first and second data streams stored in amemory of a computing device. The data stream may be provided to ahigher layer in a network stack (e.g., the method of FIG. 11 may be aphysical layer). For example, the receiver may determine a highestprobability value. The model that produced the highest probability valuemay have a corresponding bit value assignment for both the first andsecond streams. This corresponding bit value may be assigned to thefirst and second streams.

Example Transmitters and Receiver

Turning now to FIG. 12, a schematic of a system 1200 for increasingfiber optic bandwidth is shown according to some examples of the presentdisclosure. First transmitter 1205 may include processing circuitry 1210to transform the data stream to prepare it for transmission on the fiberoptic fiber. Example operations include error coding, encryption,modulation operations, and the like. The transformed bits are used as asignal to the controller 1220 to instruct the light source 1215 toselectively turn on or off to represent the transformed bit streamaccording to a modulation scheme. For example, by turning the lightsource 1215 on in response to a ‘1’ in the bit stream and turn the lightsource off in response to a ‘0’ in the bit stream. The controller 1220may set the power of the light source 1215 based upon the power levelindicated in the assigned power level assignment scheme and based uponthe current phase of the power level assignment scheme. In cases inwhich modulation schemes that vary power are utilized, the power levelmay be an average power level over a particular timeslot. The indicationof which power level assignment scheme is active and which phase isactive may be stored in power level assignment scheme storage 1265.

Light source 1215 transmits light over an optical communication pathwhich may be through a medium such as a fiber optic fiber to a receiver.Example light sources may include an LED or a LASER light source.Controller 1220 and processing circuitry 1210 may be general purposeprocessors or may be specially designed circuits configured to implementthe techniques described herein. Power level assignment scheme storage1265 may be flash storage, Read Only Memory (ROM) or other transitory ornon-transitory storage.

Transmitters 1205 and 1250 may be transceivers in that they may haveassociated receivers, such as a receivers 1225, 1258. The power levelassignment scheme may be assigned by the receiver 1260 (which also maybe a transceiver), through agreement with the second transmitter 1250,or the like. The assigned power level assignment scheme may be one of apredetermined library of assignment schemes that is stored in the powerlevel assignment scheme storage 1265. In some examples, the assignedpower level assignment scheme may be based upon a scheme in the libraryof assignment schemes but modified for one or more of the particulartransmitters and receivers involved in the communication session. In yetother examples, the assigned power level assignment scheme may be customto the particular communication session. The power level assignmentscheme storage 1265 may store the particular assignment scheme, aselection of the particular assignment scheme, any customizations inuse, the current phase, and/or the like.

Receiver 1225 may be a fiber optic receiver, but also may be anout-of-band receiver such as a WiFi receiver, a Bluetooth receiver, anethernet receiver, or the like. Receiver 1225 may receive instructionsfrom the receiver 1260 that are passed to the controller to turn on oroff the light source 1215 during model training for the receiver.

Second transmitter 1250 may include similar components as firsttransmitter 1205. For example, a controller 1254, a light source 1256,processing circuitry 1252, a receiver 1258, a power level assignmentscheme storage 1270, and the like. In some examples, if firsttransmitter 1205 and second transmitter 1250 are in a same device, oneor more components may be shared between first transmitter 1205 andsecond transmitter 1250. Additionally, first transmitter 1205 and secondtransmitter 1250 may send multiple streams of data over the fiber opticcable to receiver 1260 over multiple different wavelengths. Thus, thefirst transmitter 1205 and second transmitter 1250 may utilize both thetechniques of the present invention to send multiple streams of datasimultaneously over a same fiber by altering power levels, but alsomultiple streams using different wavelengths.

FIG. 13 shows a schematic of a receiver 1300 according to some examplesof the present disclosure. For example, receiver 1300 may be an examplereceiver that is part of transceiver 1260. Receiver 1300 may include aphoto detector 1305 that detects and/or counts photons received over anoptical communication path such as a fiber optic fiber over apredetermined time period (e.g., a timeslot). The photon counts arepassed to the controller 1310. Controller 1310 may utilize one or moredetection models stored in model storage 1335 to determine individualbits in a bit stream. For example, the models may comprise one or morePoisson distributions that may return the probability that the photoncounts correspond to one or more particular bit combinations for eachstream, The particular detection models to use may be selected basedupon the current phase of the current power level assignment scheme. Thecurrent phase and/or the selected power level assignment scheme may bestored in power level assignment scheme storage 1340.

For example, consider a simple power level assignment scheme in whichtwo light sources simultaneously transmit across a same communicationpath (e.g., fiber optic fiber) on a same wavelength. The power levelassignment scheme alternates which of the two lightsources—corresponding to two distinct data streams activates on a highpower level on a bit-by-bit basis. On the first bit, stream 1 is thehigh power light source and stream 2 is the low power light source. Thereceived photon counts for the period of time in which the first bit isto be transmitted is submitted to a first detection model set thatincludes models trained to detect the first light source activating at ahigh power (with the second light source being off), the second lightsource activating at low power (with the first light source being off),and both activated at their respective assigned powers. The detectionmodel to return a highest score (e.g., detection probability) is used toassign values to the bit stream. For example, if the detection modeltrained to detect the first light source activated at a high power (withthe second light source being off) returns the highest probability, thena ‘1’ is assigned to the bit stream corresponding to the first lightsource and a zero to the bit stream corresponding to the second lightsource (e.g., based upon the modulation scheme where a ‘1’ is indicatedby activation of the light source and ‘0’ is indicated by the lightsource being off).

On the second phase, stream 1 is the low power light source and stream 2is the high-power light source. The received photon counts for theperiod of time in which the second bit is to be transmitted is submittedto a second detection model set that includes models trained to detectthe first light source activated at a low power (with no activation ofthe second light source), the second light source activated at a highpower (with no activation of the first light source), and bothtransmitting a ‘1’ at their respective assigned powers. The detectionmodel to return a highest score (e.g., detection probability) is used toassign values to the bit stream. For example, if the detection modeltrained to detect the first light source activated at a low power (withno activation of the second device) returns the highest probability,then a ‘1’ is assigned to the bit stream corresponding to the firstlight source and a zero to the bit stream corresponding to the secondlight source.

Each bit stream determined by the controller is then passed to theprocessing circuitry 1315 and 1320 respectively, which decodes the bitstream, and performs various operations (such as an inverse of theoperations performed by the processing circuitry 1210 and 1252 of thetransmitters in FIG. 12) and outputs bitstreams to higher level layers(such as a Physical, Transport, or other network layers).

Calibration components 1325 may include a model training component 1330which may instruct the transmitters (through a transmitter 1350) totransmit various test data sequences. The models may be built usingphoton counts observed by the photo detector 1305. In some examples, thecontroller 1310 may also select and control the power level assignmentscheme. For example, by communication with the transmitters to selectand/or customize a scheme. This may happen before the communicationsession with the transmitters and/or periodically during thecommunication session. In other examples, where the transmitters agreeto the power level assignment scheme, the controller 1310 receivesmessages indicating which power level assignment scheme is active. Thecontroller may determine the current phase by messaging to and/or fromone or more of the transmitters (e.g., for QoS based approaches ormodifications), based upon an elapsed time from the last phase, or thelike.

The controller 1310, as noted, determines the phase of the power levelassignment scheme (which transmitter's light source is at what power)and uses the phase to select the appropriate detection models. Forexample, referring back to table 1 with a power level assignment schemewhere a first phase has the first transmitter transmitting at a highpower level, if the phase is 1, then the models trained with data onphoton counts from a training period where the first transmitter wasactivated at a high power and the second transmitter was activated at alow power level may be selected and used.

FIG. 14 shows an example machine learning component 1400 according tosome examples of the present disclosure. The machine learning component1400 may be implemented in whole or in part by the model trainingcomponent 1330. The machine learning component 1400 may include atraining component 1410 and a prediction component 1420. In someexamples, the training component 1410 may be implemented by a differentdevice than the prediction component 1420. In these examples, the model1480 may be created on a first machine and then sent to a secondmachine.

Machine learning component 1400 utilizes a training component 1410 and aprediction component 1420. Training component 1410 inputs feature data1430 into feature determination component 1450. The feature data 1430may be photon counts, phases, and the like. In some examples, thefeature data may be explicitly labeled with the bit assignments for eachstream, the light source(s) currently transmitting, the power level thelight source(s) that are currently transmitting are transmitting at, andthe like.

Feature determination component 1450 determines one or more features forfeature vector 1460 from the feature data 1430. Features of the featurevector 1460 are a set of the information input and is informationdetermined to be predictive of a bit assignment for each stream.Features chosen for inclusion in the feature vector 1460 may be all thefeature data 1430 or in some examples, may be a subset of all thefeature data 1430. In examples in which the features chosen for thefeature vector 1460 are a subset of the feature data 1430, apredetermined list of which feature data 1430 is included in the featurevector may be utilized. The feature vector 1460 may be utilized (alongwith any applicable labels) by the machine learning algorithm 1470 toproduce one or more detection models 1480.

In the prediction component 1420, the current feature data 1490 (e.g.,photon counts) may be input to the feature determination component 1495.Feature determination component 1495 may determine the same set offeatures or a different set of features as feature determinationcomponent 1450. In some examples, feature determination component 1450and 1495 are the same components or different instances of the samecomponent. Feature determination component 1495 produces feature vector1497, which are input into the model 1480 to determine bit assignments,phases, power level assignment schemes, or the like 1499.

The training component 1410 may operate in an offline manner to trainthe model 1480. The prediction component 1420, however, may be designedto operate in an online manner. It should be noted that the model 1480may be periodically updated via additional training and/or userfeedback.

The machine learning algorithm 1470 may be selected from among manydifferent potential supervised or unsupervised machine learningalgorithms. Examples of supervised learning algorithms includeartificial neural networks, convolutional neural networks, Bayesiannetworks, instance-based learning, support vector machines, decisiontrees (e.g., Iterative Dichotomiser 3, C4.5, Classification andRegression Tree (CART), Chi-squared Automatic Interaction Detector(CHAID), and the like), random forests, linear classifiers, quadraticclassifiers, k-nearest neighbor, linear regression, logistic regression,support vector machines, perceptrons, and hidden Markov models. Examplesof unsupervised learning algorithms include expectation-maximizationalgorithms, vector quantization, and information bottleneck method.Unsupervised models may not have a training component 1410. In someexamples, the detection model 1480 may determine a bit for each streambased upon the detected photons. In other examples, the detection model1480 may produce a score or probability for each stream that aparticular bit was sent.

As noted, the machine learning models may be used to select a powerlevel assignment scheme. In these examples, the feature data 1430, 1490may be information predictive of a proper power level assignment scheme.The features discussed above may be utilized as feature data 1430,1490—such as a power budget, transmitter characteristics, receivercharacteristics, and the like. The result may be a ranking and/orselection 1499 of a power level assignment scheme.

The modulation schemes utilized herein have been relatively simple (onor off to represent a ‘1’ or a ‘0’). In other examples, differentmodulation schemes may be utilized. For example, if the light sourcesand the receivers are capable, WDM, phase shift modulation, amplitudemodulation, and other advanced modulation forms may be utilized inaddition to the techniques described herein. For example, a plurality ofbitstreams may be divided into a plurality of wavelengths—where eachwavelength may have multiple streams of data that are sent using themethods disclosed herein. Similarly, for power modulation, a powerassignment scheme of the present invention may assign multiple powerlevels to each transmitter—where each power level is a particular bitcombination. Thus, first transmitter may be assigned power levels 1, 2,and 3 (to indicate ‘01’, ‘10’, and ‘11’ bits respectively) and secondtransmitter may be assigned power levels 4, 5, and 6 (to indicate ‘01’,‘10’, and ‘11’ bits respectively). In this example, the system mayallocate the power levels such that the average photon counts of eachpower level combination are distinct enough such that the probabilitydistributions are far enough apart so that the error rate is low.

FIG. 15 illustrates a flowchart of a method 1500 of receiving dataoptically according to some examples of the present disclosure. Atoperation 1510, a controller or other processor of the receiver maydetermine a count of the photons received over an optical communicationchannel. For example, the controller may be communicatively coupled to aphoton sensor. The controller may poll or otherwise receive a count, orthe like. In some examples, the photons that hit the sensor may resultfrom a transmission of a first stream of data at a first power level anda second stream of data at a second power level. The first stream ofdata may be transmitted by a first light source and the second stream ofdata may be transmitted by a second light source. The first and secondlight sources may be on a same device, or on different devices. In someexamples, the photon count may correspond to photons detected by thephoton detector within a timeslot for sending a bit of data.

At operation 1515, the receiver may demultiplex a first and a secondstream of data from the optical communication channel by applying thephoton count as an input to at least one detection model. An exampledetection model may be a probability distribution such as a Poissonprobability distribution. The demultiplexing may be accomplished withoutusing successive interference cancellation. In some examples, thedemultiplexing may be performed utilizing a plurality of detectionmodels by assigning bit values corresponding to a detection model of theplurality of detection models that returns a highest probability giventhe photon count. In some examples, the received photons may be detectedas a sinusoidal wave, a square wave, or the like. In some examples, thephoton count may result from, or be influenced by, destructiveinterference and the demultiplexing is not affected by it because thedetection models are trained based upon the photon count averages whichalready account for the destructive interference. In some examples, theoptical communication channel may be over (or partially over) a singlefiber optic fiber. In other examples, the optical communication channelmay be over (or partially over) air—e.g., the transmitter may be pointedat the receiver.

FIG. 16 illustrates a flowchart of a method 1600 for receiving opticalsignals at a receiver according to some examples of the presentdisclosure. At operation 1610 the receiver may determine a count ofphotons hitting a photon detector during a detection period (e.g., atimeslot) and for a particular light frequency. For example, acontroller at the receiver may be communicatively coupled to a photondetector. The photons may have been produced from transmission ofrespective first and second bitstreams transmitted on a same frequencyand across a same optical communication path to the photon detectorduring the detection period. The respective first and second bitstreamsmay be transmitted by selectively powering on and off first and secondlight sources at first and second power levels. In some examples, theselectively powering on and off may be in accordance with a particularmodulation scheme, such as an amplitude modulation scheme.

At operation 1615, the receiver may determine, based upon the photoncount, a first bit value assignment for the first bit stream and asecond bit value assignment for the second bit stream based on aplurality of photon count decision regions. In some examples, each ofthe plurality of photon count decision regions correspond to respectivebit value assignments for the first and second bit streams. In someexamples, a first decision region of the plurality of photon countdecision regions has a different decision range than a second decisionregion of the plurality of photon count decision regions. In someexamples, a decision range of the plurality of photon count decisionregions may be defined by a range of photon counts of the decisionregion where a probability is greater than a threshold (e.g., greaterthan a negligible threshold). In these examples, the decision ranges ofmultiple decision regions may overlap. In other examples, the decisionrange of the plurality of photon count decision regions may be definedas the photon count in which a probability returned by the decisionregion is highest. Thus, the decision regions may not overlap. In someexamples, the decision regions may be described by a Poissondistribution.

In some examples, determining, based upon the photon count, a first bitvalue assignment for a first bit stream and a second bit valueassignment for a second bit stream using a plurality of photon countdecision regions is performed by determining, for each of the pluralityof photon count decision regions, a probability given the photon count,selecting the photon count decision region with a greatest probabilitygiven the photon count, and assigning a value to the first and secondbit streams that corresponds with a bit assignment corresponding to theselected photon count decision region. In some examples, the decisionregions may be readjusted. For example, a training procedure may bererun after a predetermined period of time. This may adjust for changinglight source transmission characteristics, changing mediumcharacteristics, and the like.

FIG. 17 illustrates a flowchart of a method 1700 for simultaneoustransmission of multiple data streams over an optical communication pathaccording to some examples of the present disclosure. The method 1700may be performed by a controller of a first light source. At operation1710, the controller may coordinate with a controller of a second lightsource or with a receiver to determine a first power level. For example,the controller may determine one or more power level assignment schemes,determine a current phase, and the like. The power level assignmentschemes may be assigned by the receiver, determined by mutual agreementbetween transmitters and in some examples the receiver, or the like. Thefirst power level may be determined by identifying a current phase. Forexample, based upon a bit transmitted in a sequence.

At operation 1715, the controller may selectively activate a first lightsource at the first power level at a first wavelength according to amodulation scheme to transmit data of a first stream of data to thereceiver. During the same timeslot, the second data stream may betransmitted across the optical communication path by a second lightsource selectively activated according to the modulation scheme at thefirst wavelength and at a second power level. For example, the firstlight source may be activated “on” at the first power level to transmita one bit and deactivated to transmit a zero. In other examples, morecomplex modulation schemes may be utilized, such as amplitude modulationwhere a sinusoidal waveform is adjusted in amplitude.

In some examples, each bit of data of the first stream may betransmitted at a same timeslot as corresponding bits of data of a seconddata stream (e.g., the bit transmissions are synchronized so each lightsource transmits simultaneously). For example, the first light sourcetransmits the first bit of the first data stream during a first timeslotas the second light source transmits the first bit of data of the seconddata stream. During a second timeslot, the first light source maytransmit the second bit of data of the first data stream and the secondlight source may transmit the second bit of data of the second datastream. In subsequent transmissions, based upon the power levelassignment scheme, the first light source may selectively transmit atthe first power level and the second light source may selectivelytransmit at the second power level according to the modulation scheme.

FIG. 18 illustrates a block diagram of an example machine 1800 uponwhich any one or more of the techniques (e.g., methodologies) discussedherein may perform. In alternative embodiments, the machine 1800 mayoperate as a standalone device or may be connected (e.g., networked) toother machines. In a networked deployment, the machine 1800 may operatein the capacity of a server machine, a client machine, or both inserver-client network environments. In an example, the machine 1800 mayact as a peer machine in peer-to-peer (P2P) (or other distributed)network environment. The machine 1800 may be a personal computer (PC), atablet PC, a set-top box (STB), a personal digital assistant (PDA), amobile telephone, a smart phone, a web appliance, a network router,switch or bridge, or any machine capable of executing instructions(sequential or otherwise) that specify actions to be taken by thatmachine. Machine 1800 may implement the transmitters and/or receiversdisclosed herein. Furthermore, machine 1800 may include the transmittersand/or receivers disclosed herein. Machine 1800 may implement any of themethods disclosed herein. Further, while only a single machine isillustrated, the term “machine” shall also be taken to include anycollection of machines that individually or jointly execute a set (ormultiple sets) of instructions to perform any one or more of themethodologies discussed herein, such as cloud computing, software as aservice (SaaS), other computer cluster configurations.

Examples, as described herein, may include, or may operate on, logic ora number of components, components, or mechanisms. Components aretangible entities (e.g., hardware) capable of performing specifiedoperations and may be configured or arranged in a certain manner. In anexample, circuits may be arranged (e.g., internally or with respect toexternal entities such as other circuits) in a specified manner as acomponent. In an example, the whole or part of one or more computersystems (e.g., a standalone, client or server computer system) or one ormore hardware processors may be configured by firmware or software(e.g., instructions, an application portion, or an application) as acomponent that operates to perform specified operations. In an example,the software may reside on a machine readable medium. In an example, thesoftware, when executed by the underlying hardware of the component,causes the hardware to perform the specified operations.

Accordingly, the term “component” is understood to encompass a tangibleentity, be that an entity that is physically constructed, specificallyconfigured (e.g., hardwired), or temporarily (e.g., transitorily)configured (e.g., programmed) to operate in a specified manner or toperform part or all of any operation described herein. Consideringexamples in which components are temporarily configured, each of thecomponents need not be instantiated at any one moment in time. Forexample, where the components comprise a general-purpose hardwareprocessor configured using software, the general-purpose hardwareprocessor may be configured as respective different components atdifferent times. Software may accordingly configure a hardwareprocessor, for example, to constitute a particular component at oneinstance of time and to constitute a different component at a differentinstance of time.

Machine (e.g., computer system) 1800 may include a hardware processor1802 (e.g., a central processing unit (CPU), a graphics processing unit(GPU), a hardware processor core, or any combination thereof), a mainmemory 1804 and a static memory 1806, some or all of which maycommunicate with each other via an interlink (e.g., bus) 1808. Themachine 1800 may further include a display unit 1810, an alphanumericinput device 1812 (e.g., a keyboard), and a user interface (UI)navigation device 1814 (e.g., a mouse). In an example, the display unit1810, input device 1812 and UI navigation device 1814 may be a touchscreen display. The machine 1800 may additionally include a storagedevice (e.g., drive unit) 1816, a signal generation device 1818 (e.g., aspeaker), a network interface device 1820, and one or more sensors 1821,such as a global positioning system (GPS) sensor, compass,accelerometer, or other sensor. The machine 1800 may include an outputcontroller 1828, such as a serial (e.g., universal serial bus (USB),parallel, or other wired or wireless (e.g., infrared (IR), near fieldcommunication (NFC), etc.) connection to communicate or control one ormore peripheral devices (e.g., a printer, card reader, etc.).

The storage device 1816 may include a machine readable medium 1822 onwhich is stored one or more sets of data structures or instructions 1824(e.g., software) embodying or utilized by any one or more of thetechniques or functions described herein. The instructions 1824 may alsoreside, completely or at least partially, within the main memory 1804,within static memory 1806, or within the hardware processor 1802 duringexecution thereof by the machine 1800. In an example, one or anycombination of the hardware processor 1802, the main memory 1804, thestatic memory 1806, or the storage device 1816 may constitute machinereadable media.

While the machine readable medium 1822 is illustrated as a singlemedium, the term “machine readable medium” may include a single mediumor multiple media (e.g., a centralized or distributed database, and/orassociated caches and servers) configured to store the one or moreinstructions 1824.

The term “machine readable medium” may include any medium that iscapable of storing, encoding, or carrying instructions for execution bythe machine 1800 and that cause the machine 1800 to perform any one ormore of the techniques of the present disclosure, or that is capable ofstoring, encoding or carrying data structures used by or associated withsuch instructions. Non-limiting machine readable medium examples mayinclude solid-state memories, and optical and magnetic media. Specificexamples of machine readable media may include: non-volatile memory,such as semiconductor memory devices (e.g., Electrically ProgrammableRead-Only Memory (EPROM), Electrically Erasable Programmable Read-OnlyMemory (EEPROM)) and flash memory devices; magnetic disks, such asinternal hard disks and removable disks; magneto-optical disks; RandomAccess Memory (RAM); Solid State Drives (SSD); and CD-ROM and DVD-ROMdisks. In some examples, machine readable media may includenon-transitory machine readable media. In some examples, machinereadable media may include machine readable media that is not atransitory propagating signal.

The instructions 1824 may further be transmitted or received over acommunications network 1826 using a transmission medium via the networkinterface device 1820. The Machine 1800 may communicate with one or moreother machines utilizing any one of a number of transfer protocols(e.g., frame relay, internet protocol (IP), transmission controlprotocol (TCP), user datagram protocol (UDP), hypertext transferprotocol (HTTP), etc.). Example communication networks may include alocal area network (LAN), a wide area network (WAN), a packet datanetwork (e.g., the Internet), mobile telephone networks (e.g., cellularnetworks), Plain Old Telephone (POTS) networks, and wireless datanetworks (e.g., Institute of Electrical and Electronics Engineers (IEEE)802.11 family of standards known as Wi-Fi®, IEEE 802.16 family ofstandards known as WiMax®), IEEE 802.15.4 family of standards, a LongTerm Evolution (LTE) family of standards, a Universal MobileTelecommunications System (UMTS) family of standards, peer-to-peer (P2P)networks, among others. In an example, the network interface device 1820may include one or more physical jacks (e.g., Ethernet, coaxial, orphone jacks) or one or more antennas to connect to the communicationsnetwork 1826. In an example, the network interface device 1820 mayinclude a plurality of antennas to wirelessly communicate using at leastone of single-input multiple-output (SIMO), multiple-inputmultiple-output (MIMO), or multiple-input single-output (MISO)techniques. In some examples, the network interface device 1820 maywirelessly communicate using Multiple User MIMO techniques.

OTHER NOTES AND EXAMPLES

Example 1 is a method for receiving data over an optical communicationpath, the method comprising: determining a count of photons detected onthe optical communication path over a determined time frame;determining, based upon the count and a first detection model, a firstprobability that a first light source corresponding to a first datastream is powered on at a first power level, the first power leveldifferent than a second power level; determining, based upon the countand a second detection model, a second probability that a second lightsource corresponding to a second data stream is powered on at the secondpower level; determining, based upon the count and a third detectionmodel, a third probability that both the first and second light sourcesare simultaneously on at the respective first and second power levels;and determining first data of the first data stream and second data ofthe second data stream based upon the first, second, and thirdprobabilities.

In Example 2, the subject matter of Example 1 includes, whereindetermining the first data and second data comprises: assigning a valueof one to the first data responsive to the first probability or thethird probability being greater than a threshold probability; andassigning a value of one to the second data responsive to the secondprobability or the third probability being greater than the thresholdprobability.

In Example 3, the subject matter of Examples 1-2 includes, whereindetermining the first data and second data comprises: assigning a valueof one to the first data responsive to the first probability or thethird probability being a highest probability of the first, second, andthird probabilities.

In Example 4, the subject matter of Examples 1-3 includes, whereindetermining the first data and second data comprises: assigning a valueof one to the second data responsive to the second probability or thethird probability being higher than the first probability.

In Example 5, the subject matter of Examples 1-4 includes, wherein thefirst data stream and the second data stream are both transmitted by asame device.

In Example 6, the subject matter of Examples 1-5 includes, wherein thefirst data stream and the second data stream are transmitted bydifferent devices.

In Example 7, the subject matter of Examples 1-6 includes, wherein thefirst data stream and the second data stream are transmitted on a samewavelength.

In Example 8, the subject matter of Examples 1-7 includes, wherein thefirst, second, and third detection models are Poisson distributions.

In Example 9, the subject matter of Examples 1-8 includes, wherein theoptical communication path is a fiber optic fiber.

Example 10 is a device for receiving data over an optical communicationpath, the device comprising: a hardware processor configured to performoperations comprising: determining a count of photons detected on theoptical communication path over a determined time frame; determining,based upon the count and a first detection model, a first probabilitythat a first light source corresponding to a first data stream ispowered on at a first power level, the first power level different thana second power level; determining, based upon the count and a seconddetection model, a second probability that a second light sourcecorresponding to a second data stream is powered on at the second powerlevel; determining, based upon the count and a third detection model, athird probability that both the first and second light sources aresimultaneously on at the respective first and second power levels; anddetermining first data of the first data stream and second data of thesecond data stream based upon the first, second, and thirdprobabilities.

In Example 11, the subject matter of Example 10 includes, wherein theoperations of determining the first data and second data comprise:assigning a value of one to the first data responsive to the firstprobability or the third probability being greater than a thresholdprobability; and assigning a value of one to the second data responsiveto the second probability or the third probability being greater thanthe threshold probability.

In Example 12, the subject matter of Examples 10-11 includes, whereinthe operations of determining the first data and second data comprise:assigning a value of one to the first data responsive to the firstprobability or the third probability being a highest probability of thefirst, second, and third probabilities.

In Example 13, the subject matter of Examples 10-12 includes, whereinthe operations of determining the first data and second data comprise:assigning a value of one to the second data responsive to the secondprobability or the third probability being higher than the firstprobability.

In Example 14, the subject matter of Examples 10-13 includes, whereinthe first data stream and the second data stream are both transmitted bya same device.

In Example 15, the subject matter of Examples 10-14 includes, whereinthe first data stream and the second data stream are transmitted bydifferent devices.

In Example 16, the subject matter of Examples 10-15 includes, whereinthe first data stream and the second data stream are transmitted on asame wavelength.

In Example 17, the subject matter of Examples 10-16 includes, whereinthe first, second, and third detection models are Poisson distributions.

In Example 18, the subject matter of Examples 10-17 includes, whereinthe optical communication path is a fiber optic fiber.

Example 19 is a machine-readable medium, storing instructions, whichwhen executed by a machine, cause the machine to perform operationscomprising: determining a count of photons detected on an opticalcommunication path over a determined time frame; determining, based uponthe count and a first detection model, a first probability that a firstlight source corresponding to a first data stream is powered on at afirst power level, the first power level different than a second powerlevel; determining, based upon the count and a second detection model, asecond probability that a second light source corresponding to a seconddata stream is powered on at the second power level; determining, basedupon the count and a third detection model, a third probability thatboth the first and second light sources are simultaneously on at therespective first and second power levels; and determining first data ofthe first data stream and second data of the second data stream basedupon the first, second, and third probabilities.

In Example 20, the subject matter of Example 19 includes, wherein theoperations of determining the first data and second data comprise:assigning a value of one to the first data responsive to the firstprobability or the third probability being greater than a thresholdprobability; and assigning a value of one to the second data responsiveto the second probability or the third probability being greater thanthe threshold probability.

In Example 21, the subject matter of Examples 19-20 includes, whereinthe operations of determining the first data and second data comprise:assigning a value of one to the first data responsive to the firstprobability or the third probability being a highest probability of thefirst, second, and third probabilities.

In Example 22, the subject matter of Examples 19-21 includes, whereinthe operations of determining the first data and second data comprise:assigning a value of one to the second data responsive to the secondprobability or the third probability being higher than the firstprobability.

In Example 23, the subject matter of Examples 19-22 includes, whereinthe first data stream and the second data stream are both transmitted bya same device.

In Example 24, the subject matter of Examples 19-23 includes, whereinthe first data stream and the second data stream are transmitted bydifferent devices.

In Example 25, the subject matter of Examples 19-24 includes, whereinthe first data stream and the second data stream are transmitted on asame wavelength.

In Example 26, the subject matter of Examples 19-25 includes, whereinthe first, second, and third detection models are Poisson distributions.

In Example 27, the subject matter of Examples 19-26 includes, whereinthe optical communication path is a fiber optic fiber.

Example 28 is a device for receiving data over an optical communicationpath, the device comprising: means for determining a count of photonsdetected on the optical communication path over a determined time frame;means for determining, based upon the count and a first detection model,a first probability that a first light source corresponding to a firstdata stream is powered on at a first power level, the first power leveldifferent than a second power level; means for determining, based uponthe count and a second detection model, a second probability that asecond light source corresponding to a second data stream is powered onat the second power level; means for determining, based upon the countand a third detection model, a third probability that both the first andsecond light sources are simultaneously on at the respective first andsecond power levels; and means for determining first data of the firstdata stream and second data of the second data stream based upon thefirst, second, and third probabilities.

In Example 29, the subject matter of Example 28 includes, wherein themeans for determining the first data and second data comprises: meansfor assigning a value of one to the first data responsive to the firstprobability or the third probability being greater than a thresholdprobability; and means for assigning a value of one to the second dataresponsive to the second probability or the third probability beinggreater than the threshold probability.

In Example 30, the subject matter of Examples 28-29 includes, whereinthe means for determining the first data and second data comprises:means for assigning a value of one to the first data responsive to thefirst probability or the third probability being a highest probabilityof the first, second, and third probabilities.

In Example 31, the subject matter of Examples 28-30 includes, whereinthe means for determining the first data and second data comprises:means for assigning a value of one to the second data responsive to thesecond probability or the third probability being higher than the firstprobability.

In Example 32, the subject matter of Examples 28-31 includes, whereinthe first data stream and the second data stream are both transmitted bya same device.

In Example 33, the subject matter of Examples 28-32 includes, whereinthe first data stream and the second data stream are transmitted bydifferent devices.

In Example 34, the subject matter of Examples 28-33 includes, whereinthe first data stream and the second data stream are transmitted on asame wavelength.

In Example 35, the subject matter of Examples 28-34 includes, whereinthe first, second, and third detection models are Poisson distributions.

In Example 36, the subject matter of Examples 28-35 includes, whereinthe optical communication path is a fiber optic fiber.

Example 37 is a method for simultaneous transmission of multiple datastreams across an optical communication path, the method comprising:identifying a power level assignment scheme, the power level assignmentscheme assigning different power levels to first and second lightsources; determining a current phase of the power level assignmentscheme; determining a first power level of the first light sourcecorresponding to a first stream of data to be transmitted across theoptical communication path based upon the power level assignment schemeand the current phase; and transmitting data of the first stream of dataat a first frequency across the optical communication path using thefirst light source at the first power level, the data of the firststream of data transmitted at a same time and frequency as data of asecond stream of data is transmitted across the same opticalcommunication path, the second stream of data transmitted at a secondpower level.

In Example 38, the subject matter of Example 37 includes, transmittingthe data of the second stream of data using the second light source atthe second power level.

In Example 39, the subject matter of Examples 37-38 includes, whereinthe data of the second stream of data is transmitted by a differentdevice than the data of the first stream of data.

In Example 40, the subject matter of Examples 37-39 includes,determining a priority of the first stream of data; communicating thepriority to one of: a receiver of the first and second streams of dataor a transmitter of the second stream of data; and wherein one of: thepower level assignment scheme is identified or the current phase, isdetermined based at least in part upon the priority of the first streamof data and a priority of the second stream of data.

In Example 41, the subject matter of Examples 37-40 includes, wherein acurrent phase is a first phase and wherein a second phase of the powerlevel assignment scheme assigns the first power level to the secondlight source and the second power level to the first light source, andwherein the method further comprises: determining that the current phasehas transitioned to the second phase; and transmitting data of the firststream of data using the second power level.

In Example 42, the subject matter of Examples 37-41 includes, whereinidentifying the power level assignment scheme comprises receiving anidentifier of a selected power level assignment scheme from a receiver.

In Example 43, the subject matter of Examples 37-42 includes, whereindetermining the current phase comprises determining whether a timer of afirst phase has elapsed.

In Example 44, the subject matter of Examples 37-43 includes, whereindetermining the current phase comprises determining whether a datacounter of a first phase has exceeded a threshold count.

In Example 45, the subject matter of Examples 37-44 includes, whereindetermining the first power level comprises parsing the power levelassignment scheme for the first power level.

In Example 46, the subject matter of Examples 37-45 includes, whereinthe optical communication path is a fiber optic fiber.

Example 47 is a device for transmitting data across an opticalcommunication path, the device comprising: a hardware processorconfigured to perform operations comprising: identifying a power levelassignment scheme, the power level assignment scheme assigning differentpower levels to first and second light sources; determining a currentphase of the power level assignment scheme; determining a first powerlevel of the first light source corresponding to a first stream of datato be transmitted across an optical communication path based upon thepower level assignment scheme and the current phase; and transmittingdata of the first stream of data at a first frequency across the opticalcommunication path using the first light source at the first powerlevel, the data of the first stream of data transmitted at a same timeand frequency as data of a second stream of data is transmitted acrossthe same optical communication path, the second stream of datatransmitted at a second power level.

In Example 48, the subject matter of Example 47 includes, wherein theoperations further comprise: transmitting the data of the second streamof data using the second light source at the second power level.

In Example 49, the subject matter of Examples 47-48 includes, whereinthe data of the second stream of data is transmitted by a differentdevice than the data of the first stream of data.

In Example 50, the subject matter of Examples 47-49 includes, whereinthe operations further comprise: determining a priority of the firststream of data; communicating the priority to one of: a receiver of thefirst and second streams of data or a transmitter of the second streamof data; and wherein one of: the power level assignment scheme isidentified or the current phase, is determined based at least in partupon the priority of the first stream of data and a priority of thesecond stream of data.

In Example 51, the subject matter of Examples 47-50 includes, wherein acurrent phase is a first phase and wherein a second phase of the powerlevel assignment scheme assigns the first power level to the secondlight source and the second power level to the first light source, andwherein the operations further comprise: determining that the currentphase has transitioned to the second phase; and transmitting data of thefirst stream of data using the second power level.

In Example 52, the subject matter of Examples 47-51 includes, whereinthe operations of identifying the power level assignment schemecomprises receiving an identifier of a selected power level assignmentscheme from a receiver.

In Example 53, the subject matter of Examples 47-52 includes, whereinthe operations of determining the current phase comprises determiningwhether a timer of a first phase has elapsed.

In Example 54, the subject matter of Examples 47-53 includes, whereinthe operations of determining the current phase comprises determiningwhether a data counter of a first phase has exceeded a threshold count.

In Example 55, the subject matter of Examples 47-54 includes, whereinthe operations of determining the first power level comprises parsingthe power level assignment scheme for the first power level.

In Example 56, the subject matter of Examples 47-55 includes, whereinthe optical communication path is a fiber optic fiber.

Example 57 is a machine-readable medium, storing instructions, whichwhen executed by a machine, cause the machine to perform operationscomprising: a hardware processor configured to perform operationscomprising: identifying a power level assignment scheme, the power levelassignment scheme assigning different power levels to first and secondlight sources; determining a current phase of the power level assignmentscheme; determining a first power level of the first light sourcecorresponding to a first stream of data to be transmitted across anoptical communication path based upon the power level assignment schemeand the current phase; transmitting data of the first stream of data ata first frequency across the optical communication path using the firstlight source at the first power level, the data of the first stream ofdata transmitted at a same time and frequency as data of a second streamof data is transmitted across the same optical communication path, thesecond stream of data transmitted at a second power level.

In Example 58, the subject matter of Example 57 includes, wherein theoperations further comprise: transmitting the data of the second streamof data using the second light source at the second power level.

In Example 59, the subject matter of Examples 57-58 includes, whereinthe data of the second stream of data is transmitted by a differentdevice than the data of the first stream of data.

In Example 60, the subject matter of Examples 57-59 includes, whereinthe operations further comprise: determining a priority of the firststream of data; communicating the priority to one of: a receiver of thefirst and second streams of data or a transmitter of the second streamof data; and wherein one of: the power level assignment scheme isidentified or the current phase, is determined based at least in partupon the priority of the first stream of data and a priority of thesecond stream of data.

In Example 61, the subject matter of Examples 57-60 includes, wherein acurrent phase is a first phase and wherein a second phase of the powerlevel assignment scheme assigns the first power level to the secondlight source and the second power level to the first light source, andwherein the operations further comprise: determining that the currentphase has transitioned to the second phase; and transmitting data of thefirst stream of data using the second power level.

In Example 62, the subject matter of Examples 57-61 includes, whereinthe operations of identifying the power level assignment schemecomprises receiving an identifier of a selected power level assignmentscheme from a receiver.

In Example 63, the subject matter of Examples 57-62 includes, whereinthe operations of determining the current phase comprises determiningwhether a timer of a first phase has elapsed.

In Example 64, the subject matter of Examples 57-63 includes, whereinthe operations of determining the current phase comprises determiningwhether a data counter of a first phase has exceeded a threshold count.

In Example 65, the subject matter of Examples 57-64 includes, whereinthe operations of determining the first power level comprises parsingthe power level assignment scheme for the first power level.

In Example 66, the subject matter of Examples 57-65 includes, whereinthe optical communication path is a fiber optic fiber.

Example 67 is a device for transmitting data across an opticalcommunication path, the device comprising: means for identifying a powerlevel assignment scheme, the power level assignment scheme assigningdifferent power levels to first and second light sources; means fordetermining a current phase of the power level assignment scheme; meansfor determining a first power level of the first light sourcecorresponding to a first stream of data to be transmitted across anoptical communication path based upon the power level assignment schemeand the current phase; and means for transmitting data of the firststream of data at a first frequency across the optical communicationpath using the first light source at the first power level, the data ofthe first stream of data transmitted at a same time and frequency asdata of a second stream of data is transmitted across the same opticalcommunication path, the second stream of data transmitted at a secondpower level.

In Example 68, the subject matter of Example 67 includes, means fortransmitting the data of the second stream of data using the secondlight source at the second power level.

In Example 69, the subject matter of Examples 67-68 includes, whereinthe data of the second stream of data is transmitted by a differentdevice than the data of the first stream of data.

In Example 70, the subject matter of Examples 67-69 includes, means fordetermining a. priority of the first stream of data; means forcommunicating the priority to one of: a receiver of the first and secondstreams of data or a transmitter of the second stream of data; and meansfor wherein one of: the power level assignment scheme is identified orthe current phase, is determined based at least in part upon thepriority of the first stream of data and a priority of the second streamof data.

In Example 71, the subject matter of Examples 67-70 includes, wherein acurrent phase is a first phase and wherein a second phase of the powerlevel assignment scheme assigns the first power level to the secondlight source and the second power level to the first light source, andwherein the device further comprises: means for determining that thecurrent phase has transitioned to the second phase; and means fortransmitting data of the first stream of data using the second powerlevel.

In Example 72, the subject matter of Examples 67-71 includes, whereinthe means for identifying the power level assignment scheme comprisesmeans for receiving an identifier of a selected power level assignmentscheme from a receiver.

In Example 73, the subject matter of Examples 67-72 includes, whereinthe means for determining the current phase comprises means fordetermining whether a timer of a first phase has elapsed.

In Example 74, the subject matter of Examples 67-73 includes, whereinthe means for determining the current phase comprises means fordetermining whether a data counter of a first phase has exceeded athreshold count.

In Example 75, the subject matter of Examples 67-74 includes, whereinthe means for determining the first power level comprises means forparsing the power level assignment scheme for the first power level.

In Example 76, the subject matter of Examples 67-75 includes, whereinthe optical communication path is a fiber optic fiber.

Example 77 is a method for receiving data over an optical communicationpath, the method comprising: calculating a first photon count of photonsobserved during a first time period when a first light source transmitsat a first power level on a first wavelength over an opticalcommunication path and a second light source does not transmit over thefiber; determining a first detection model from the first photon count,the first detection model producing an inference for whether a givenphoton count indicates that the first light source is activated at thefirst power level and the second light source is not activated;calculating a second photon count of photons observed during a secondtime period when the second light source transmits at a second powerlevel on the first wavelength over the fiber and the first light sourcedoes not transmit over the fiber; determining a second detection modelfrom the second photon count, the second detection model producing aninference for whether a given photon count indicates that the secondlight source is activated at a second power level and the first lightsource is not activated; calculating a third photon count of photonsobserved during a third time period when both the first light sourcetransmits at the first power level and the second light source transmitsat the second power level on the first wavelength over the fiber;determining a third detection model from the third photon count, thethird detection model producing an inference for whether a given photoncount indicates that both the first light source is activated at thefirst power level and the second light source is activated at a secondpower level; receiving a transmission over the fiber at the firstwavelength during a fourth time period; determining a photon count ofthe transmission; determining a first inference that the transmissionresulted from the first light source at the first power level using thefirst detection model, a second inference that the transmission resultedfrom the second light source at the second power level using the seconddetection model, and a third inference that the transmission resultedfrom the first and second light source together using the thirddetection model; and assigning bit values to, a first data streamcorresponding to the first light source and a second data streamcorresponding to the second light source, based upon the first, second,and third inferences, the first and second data streams stored in amemory of a computing device.

In Example 78, the subject matter of Example 77 includes, wherein thefirst detection model is a Poisson distribution.

In Example 79, the subject matter of Example 78 includes, whereintraining the first photon count is an average number of photons observedduring the first time period.

In Example 80, the subject matter of Examples 77-79 includes, whereindetermining the first detection model comprises training a supervisedlearning machine learned model using the first photon count.

In Example 81, the subject matter of Examples 77-80 includes, whereinthe method further comprises: sending a first instruction to acontroller of the first light source prior to the first time period;sending a second instruction to a controller of the second light sourceprior to the second time period; and sending a third instruction to thecontroller of the first light source and the controller of the secondlight source prior to the third time period.

In Example 82, the subject matter of Examples 77-81 includes, whereinthe first and second light sources are in a same device.

In Example 83, the subject matter of Examples 77-82 includes, whereinthe first and second light sources are in different devices.

In Example 84, the subject matter of Examples 77-83 includes, whereinthe first, second, and third inferences are probabilities and whereinassigning bit values to the first data stream corresponding to the firstlight source and the second data stream corresponding to the secondlight source based upon the first, second, and third inferencescomprises: determining that either the first or third inferencesindicates a greatest probability, and, in response, assigning a value ofone to the first stream.

In Example 85, the subject matter of Examples 77-84 includes, whereinthe first, second, and third inferences are probabilities and whereinassigning bit values to the first data stream corresponding to the firstlight source and the second data stream corresponding to the secondlight source based upon the first, second, and third inferencescomprises: determining that either the second or third inferencesindicates a greatest probability, and, in response, assigning a value ofone to the second stream.

In Example 86, the subject matter of Examples 77-85 includes, whereinthe first, second, and third detection models are specific to a firstphase of a power level assignment scheme, and wherein the method furthercomprises: determining the first inference, the second inference, andthe third inference responsive to a determination that the first phaseof the power level assignment scheme is active; receiving a nexttransmission over the fiber at the first wavelength during a fifth timeperiod; determining a photon count of the next transmission; determiningthat a second phase of the power level assignment scheme is active;responsive to determining that the second phase of the power levelassignment scheme is active, determining a next bit assignment for thefirst data stream and the second data stream based upon the photon countof the next transmission and fourth, fifth, and sixth detection models,the fourth, fifth, and sixth detection models calculated based upon thesecond phase of the power level assignment scheme.

In Example 87, the subject matter of Examples 77-86 includes, whereinthe optical communication path is a fiber optic fiber.

Example 88 is a device for receiving data over an optical communicationpath, the device comprising: a hardware processor configured to performthe operations comprising: calculating a first photon count of photonsobserved during a first time period when a first light source transmitsat a first power level on a first wavelength over an opticalcommunication path and a second light source does not transmit over thefiber; determining a first detection model from the first photon count,the first detection model producing an inference for whether a givenphoton count indicates that the first light source is activated at thefirst power level and the second light source is not activated;calculating a second photon count of photons observed during a secondtime period when the second light source transmits at a second powerlevel on the first wavelength over the fiber and the first light sourcedoes not transmit over the fiber; determining a second detection modelfrom the second photon count, the second detection model producing aninference for whether a given photon count indicates that the secondlight source is activated at a second power level and the first lightsource is not activated; calculating a third photon count of photonsobserved during a third time period when both the first light sourcetransmits at the first power level and the second light source transmitsat the second power level on the first wavelength over the fiber;determining a third detection model from the third photon count, thethird detection model producing an inference for whether a given photoncount indicates that both the first light source is activated at thefirst power level and the second light source is activated at a secondpower level; receiving a transmission over the fiber at the firstwavelength during a fourth time period; determining a photon count ofthe transmission; determining a first inference that the transmissionresulted from the first light source at the first power level using thefirst detection model, a second inference that the transmission resultedfrom the second light source at the second power level using the seconddetection model, and a third inference that the transmission resultedfrom the first and second light source together using the thirddetection model; and assigning bit values to, a first data streamcorresponding to the first light source and a second data streamcorresponding to the second light source, based upon the first, second,and third inferences, the first and second data streams stored in amemory of a computing device.

In Example 89, the subject matter of Example 88 includes, wherein thefirst detection model is a Poisson distribution.

In Example 90, the subject matter of Example 89 includes, wherein theoperations of training the first photon count is an average number ofphotons observed during the first time period.

In Example 91, the subject matter of Examples 88-90 includes, whereinthe operations of determining the first detection model comprisestraining a supervised learning machine learned model using the firstphoton count.

In Example 92, the subject matter of Examples 88-91 includes, whereinthe operations further comprises: sending a first instruction to acontroller of the first light source prior to the first time period;sending a second instruction to a controller of the second light sourceprior to the second time period; and sending a third instruction to thecontroller of the first light source and the controller of the secondlight source prior to the third time period.

In Example 93, the subject matter of Examples 88-92 includes, whereinthe first and second light sources are in a same device.

In Example 94, the subject matter of Examples 88-93 includes, whereinthe first and second light sources are in different devices.

In Example 95, the subject matter of Examples 88-94 includes, whereinthe first, second, and third inferences are probabilities and whereinthe operations of assigning bit values to the first data streamcorresponding to the first light source and the second data streamcorresponding to the second light source based upon the first, second,and third inferences comprises: determining that either the first orthird inferences indicates a greatest probability, and, in response,assigning a value of one to the first stream.

In Example 96, the subject matter of Examples 88-95 includes, whereinthe first, second, and third inferences are probabilities and whereinthe operations of assigning bit values to the first data streamcorresponding to the first light source and the second data streamcorresponding to the second light source based upon the first, second,and third inferences comprises: determining that either the second orthird inferences indicates a greatest probability, and, in response,assigning a value of one to the second stream.

In Example 97, the subject matter of Examples 88-96 includes, whereinthe first, second, and third detection models are specific to a firstphase of a power level assignment scheme, and wherein the operationsfurther comprise: determining the first inference, the second inference,and the third inference responsive to a determination that the firstphase of the power level assignment scheme is active; receiving a nexttransmission over the fiber at the first wavelength during a fifth timeperiod; determining a photon count of the next transmission; determiningthat a second phase of the power level assignment scheme is active;responsive to determining that the second phase of the power levelassignment scheme is active, determining a next bit assignment for thefirst data stream and the second data stream based upon the photon countof the next transmission and fourth, fifth, and sixth detection models,the fourth, fifth, and sixth detection models calculated based upon thesecond phase of the power level assignment scheme.

In Example 98, the subject matter of Examples 88-97 includes, whereinthe optical communication path is a fiber optic fiber.

Example 99 is a machine-readable medium that stores instructions, whichwhen performed, cause a machine to perform operations comprising:calculating a first photon count of photons observed during a first timeperiod when a first light source transmits at a first power level on afirst wavelength over an optical communication path and a second lightsource does not transmit over the fiber; determining a first detectionmodel from the first photon count, the first detection model producingan inference for whether a given photon count indicates that the firstlight source is activated at the first power level and the second lightsource is not activated; calculating a second photon count of photonsobserved during a second time period when the second light sourcetransmits at a second power level on the first wavelength over the fiberand the first light source does not transmit over the fiber; determininga second detection model from the second photon count, the seconddetection model producing an inference for whether a given photon countindicates that the second light source is activated at a second powerlevel and the first light source is not activated; calculating a thirdphoton count of photons observed during a third time period when boththe first light source transmits at the first power level and the secondlight source transmits at the second power level on the first wavelengthover the fiber; determining a third detection model from the thirdphoton count, the third detection model producing an inference forwhether a given photon count indicates that both the first light sourceis activated at the first power level and the second light source isactivated at a second power level; receiving a transmission over thefiber at the first wavelength during a fourth time period; determining aphoton count of the transmission; determining a first inference that thetransmission resulted from the first light source at the first powerlevel using the first detection model, a second inference that thetransmission resulted from the second light source at the second powerlevel using the second detection model, and a third inference that thetransmission resulted from the first and second light source togetherusing the third detection model; and assigning bit values to, a firstdata stream corresponding to the first light source and a second datastream corresponding to the second light source, based upon the first,second, and third inferences, the first and second data streams storedin a memory of a computing device.

In Example 100, the subject matter of Example 99 includes, wherein thefirst detection model is a Poisson distribution.

In Example 101, the subject matter of Example 100 includes, wherein theoperations of training the first photon count is an average number ofphotons observed during the first time period.

In Example 102, the subject matter of Examples 99-101 includes, whereinthe operations of determining the first detection model comprisestraining a supervised learning machine learned model using the firstphoton count.

In Example 103, the subject matter of Examples 99-102 includes, whereinthe operations further comprises: sending a first instruction to acontroller of the first light source prior to the first time period;sending a second instruction to a controller of the second light sourceprior to the second time period; and sending a third instruction to thecontroller of the first light source and the controller of the secondlight source prior to the third time period.

In Example 104, the subject matter of Examples 99-103 includes, whereinthe first and second light sources are in a same device.

In Example 105, the subject matter of Examples 99-104 includes, whereinthe first and second light sources are in different devices.

In Example 106, the subject matter of Examples 99-105 includes, whereinthe first, second, and third inferences are probabilities and whereinthe operations of assigning bit values to the first data streamcorresponding to the first light source and the second data streamcorresponding to the second light source based upon the first, second,and third inferences comprises: determining that either the first orthird inferences indicates a greatest probability, and, in response,assigning a value of one to the first stream.

In Example 107, the subject matter of Examples 99-106 includes, whereinthe first, second, and third inferences are probabilities and whereinthe operations of assigning bit values to the first data streamcorresponding to the first light source and the second data streamcorresponding to the second light source based upon the first, second,and third inferences comprises: determining that either the second orthird inferences indicates a greatest probability, and, in response,assigning a value of one to the second stream.

In Example 108, the subject matter of Examples 99-107 includes, whereinthe first, second, and third detection models are specific to a firstphase of a power level assignment scheme, and wherein the operationsfurther comprise: determining the first inference, the second inference,and the third inference responsive to a determination that the firstphase of the power level assignment scheme is active; receiving a nexttransmission over the fiber at the first wavelength during a fifth timeperiod; determining a photon count of the next transmission; determiningthat a second phase of the power level assignment scheme is active;responsive to determining that the second phase of the power levelassignment scheme is active, determining a next bit assignment for thefirst data stream and the second data stream based upon the photon countof the next transmission and fourth, fifth, and sixth detection models,the fourth, fifth, and sixth detection models calculated based upon thesecond phase of the power level assignment scheme.

In Example 109, the subject matter of Examples 99-108 includes, whereinthe optical communication path is a fiber optic fiber.

Example 110 is a device for receiving data over an optical communicationpath, the device comprising: means for calculating a first photon countof photons observed during a first time period when a first light sourcetransmits at a first power level on a first wavelength over an opticalcommunication path and a second light source does not transmit over thefiber; means for determining a first detection model from the firstphoton count, the first detection model producing an inference forwhether a given photon count indicates that the first light source isactivated at the first power level and the second light source is notactivated; means for calculating a second photon count of photonsobserved during a second time period when the second light sourcetransmits at a second power level on the first wavelength over the fiberand the first light source does not transmit over the fiber; means fordetermining a second detection model from the second photon count, thesecond detection model producing an inference for whether a given photoncount indicates that the second light source is activated at a secondpower level and the first light source is not activated; means forcalculating a third photon count of photons observed during a third timeperiod when both the first light source transmits at the first powerlevel and the second light source transmits at the second power level onthe first wavelength over the fiber; means for determining a thirddetection model from the third photon count, the third detection modelproducing an inference for whether a given photon count indicates thatboth the first light source is activated at the first power level andthe second light source is activated at a second power level; means forreceiving a transmission over the fiber at the first wavelength during afourth time period; means for determining a photon count of thetransmission; means for determining a first inference that thetransmission resulted from the first light source at the first powerlevel using the first detection model, a second inference that thetransmission resulted from the second light source at the second powerlevel using the second detection model, and a third inference that thetransmission resulted from the first and second light source togetherusing the third detection model; and means for assigning bit values to,a first data stream corresponding to the first light source and a seconddata stream corresponding to the second light source, based upon thefirst, second, and third inferences, the first and second data streamsstored in a memory of a computing device.

In Example 111, the subject matter of Example 110 includes, wherein thefirst detection model is a Poisson distribution.

In Example 112, the subject matter of Example 111 includes, whereintraining the first photon count is an average number of photons observedduring the first time period.

In Example 113, the subject matter of Examples 110-112 includes, whereinthe means for determining the first detection model comprises means fortraining a supervised learning machine learned model using the firstphoton count.

In Example 114, the subject matter of Examples 110-113 includes, meansfor sending a first instruction to a controller of the first lightsource prior to the first time period; means for sending a secondinstruction to a controller of the second light source prior to thesecond time period; and means for sending a third instruction to thecontroller of the first light source and the controller of the secondlight source prior to the third time period.

In Example 115, the subject matter of Examples 110-114 includes, whereinthe first and second light sources are in a same device.

In Example 116, the subject matter of Examples 110-115 includes, whereinthe first and second light sources are in different devices.

In Example 117, the subject matter of Examples 110-116 includes, whereinthe first, second, and third inferences are probabilities and whereinthe means for assigning bit values to the first data streamcorresponding to the first light source and the second data streamcorresponding to the second light source based upon the first, second,and third inferences comprises: means for determining that either thefirst or third inferences indicates a greatest probability, and, inresponse, assigning a value of one to the first stream.

In Example 118, the subject matter of Examples 110-117 includes, whereinthe first, second, and third inferences are probabilities and whereinthe means for assigning bit values to the first data streamcorresponding to the first light source and the second data streamcorresponding to the second light source based upon the first, second,and third inferences comprises: means for determining that either thesecond or third inferences indicates a greatest probability, and, inresponse, assigning a value of one to the second stream.

In Example 119, the subject matter of Examples 110-118 includes, whereinthe first, second, and third detection models are specific to a firstphase of a power level assignment scheme, and wherein the device furthercomprises: means for determining the first inference, the secondinference, and the third inference responsive to a determination thatthe first phase of the power level assignment scheme is active; meansfor receiving a next transmission over the fiber at the first wavelengthduring a fifth time period; means for determining a photon count of thenext transmission; means for determining that a second phase of thepower level assignment scheme is active; responsive to determining thatthe second phase of the power level assignment scheme is active, meansfor determining a next bit assignment for the first data stream and thesecond data stream based upon the photon count of the next transmissionand fourth, fifth, and sixth detection models, the fourth, fifth, andsixth detection models calculated based upon the second phase of thepower level assignment scheme.

In Example 120, the subject matter of Examples 110-119 includes, whereinthe optical communication path is a fiber optic fiber.

Example 121 is a method of receiving data optically, the methodcomprising: determining a count of photons received over an opticalcommunication channel, the photons resulting from a transmission of afirst stream of data at a first power level and a second stream of dataat a second power level; and demultiplexing a first and a second streamof data from the optical communication channel by applying the photoncount as an input to at least one detection model without usingsuccessive interference cancellation.

In Example 122, the subject matter of Example 121 includes, wherein thedemultiplexing is performed utilizing a plurality of detection modelsincluding the at least one detection model, the demultiplexingcomprising assigning bit values corresponding to a detection model ofthe plurality of detection models that returns a highest probabilitygiven the photon count to the first stream of data and the second streamof data.

In Example 123, the subject matter of Example 122 includes, wherein afirst detection model of the plurality of detection models has adifferent range than a second detection model of the plurality ofdetection models.

In Example 124, the subject matter of Example 123 includes, wherein theplurality of detection models are probability models.

In Example 125, the subject matter of Examples 121-124 includes, whereinthe received photons are received as a sinusoidal wave.

In Example 126, the subject matter of Examples 121-125 includes, whereinthe received photons are received as a square wave.

In Example 127, the subject matter of Examples 121-126 includes, whereinthe photon count results from destructive interference, and whereindemultiplexing the first and second stream of data is performed despitethe destructive interference.

In Example 128, the subject matter of Examples 121-127 includes, whereinthe photons are received over a single fiber optic fiber.

In Example 129, the subject matter of Examples 121-128 includes, whereina first light source was used to transmit the first data stream and asecond light source was used to transmit the second stream of data.

In Example 130, the subject matter of Examples 121-129 includes, whereindemultiplexing comprises demultiplexing a first and a second stream ofdata from the optical communication channel by applying the photon countas an input to at least one detection model without using successiveinterference cancellation and without remodulating a signal.

Example 131 is a device for receiving data optically, the devicecomprising: a controller configured to perform operations comprising:determining a count of photons received over an optical communicationchannel, the photons resulting from a transmission of a first stream ofdata at a first power level and a second stream of data at a secondpower level; and demultiplexing a first and a second stream of data fromthe optical communication channel by applying the photon count as aninput to at least one detection model without using successiveinterference cancellation.

In Example 132, the subject matter of Example 131 includes, wherein thecontroller performs the demultiplexing utilizing a plurality ofdetection models including the at least one detection model, theoperations of demultiplexing comprising assigning bit valuescorresponding to a. detection model of the plurality of detection modelsthat returns a highest probability given the photon count to the firststream of data and the second stream of data.

In Example 133, the subject matter of Example 132 includes, wherein afirst detection model of the plurality of detection models has adifferent range than a second detection model of the plurality ofdetection models.

In Example 134, the subject matter of Example 133 includes, wherein theplurality of detection models are probability models.

In Example 135, the subject matter of Examples 131-134 includes, whereinthe received photons are received as a sinusoidal wave.

In Example 136, the subject matter of Examples 131-135 includes, whereinthe received photons are received as a square wave.

In Example 137, the subject matter of Examples 131-136 includes, whereinthe photon count results from destructive interference, and wherein theoperations of demultiplexing the first and second stream of data isperformed despite the destructive interference.

In Example 138, the subject matter of Examples 131-137 includes, whereinthe photons are received over a single fiber optic fiber.

In Example 139, the subject matter of Examples 131-138 includes, whereina first light source was used to transmit the first stream of data and asecond light source was used to transmit the second stream of data.

In Example 140, the subject matter of Examples 131-139 includes, whereinthe operations of demultiplexing comprises demultiplexing a first and asecond stream of data from the optical communication channel by applyingthe photon count as an input to at least one detection model withoutusing successive interference cancellation and without remodulating asignal.

Example 141 is a machine-readable medium, storing instructions forreceiving data optically, which when executed by a machine, cause themachine to perform operations comprising: a controller configured toperform operations comprising: determining a count of photons receivedover an optical communication channel, the photons resulting from atransmission of a first stream of data at a first power level and asecond stream of data at a second power level; and demultiplexing afirst and a second stream of data from the optical communication channelby applying the photon count as an input to at least one detection modelwithout using successive interference cancellation.

In Example 142, the subject matter of Example 141 includes, wherein thedemultiplexing utilizes a plurality of detection models including the atleast one detection model, the operations of demultiplexing comprisingassigning bit values corresponding to a detection model of the pluralityof detection models that returns a highest probability given the photoncount to the first stream of data and the second stream of data.

In Example 143, the subject matter of Example 142 includes, wherein afirst detection model of the plurality of detection models has adifferent range than a second detection model of the plurality ofdetection models.

In Example 144, the subject matter of Example 143 includes, wherein theplurality of detection models are probability models.

In Example 145, the subject matter of Examples 141-144 includes, whereinthe received photons are received as a sinusoidal wave.

In Example 146, the subject matter of Examples 141-145 includes, whereinthe received photons are received as a square wave.

In Example 147, the subject matter of Examples 141-146 includes, whereinthe photon count results from destructive interference, and wherein theoperations of demultiplexing the first and second stream of data isperformed despite the destructive interference.

In Example 148, the subject matter of Examples 141-147 includes, whereinthe photons are received over a single fiber optic fiber.

In Example 149, the subject matter of Examples 141-148 includes, whereina first light source was used to transmit the first stream of data and asecond light source was used to transmit the second stream of data.

In Example 150, the subject matter of Examples 141-149 includes, whereinthe operations of demultiplexing comprises demultiplexing a first and asecond stream of data from the optical communication channel by applyingthe photon count as an input to at least one detection model withoutusing successive interference cancellation and without remodulating asignal.

Example 151 is a device for receiving data optically, the devicecomprising: means for determining a count of photons received over anoptical communication channel, the photons resulting from a transmissionof a first stream of data at a first power level and a second stream ofdata at a second power level; and means for demultiplexing a first and asecond stream of data from the optical communication channel by applyingthe photon count as an input to at least one detection model withoutusing successive interference cancellation.

In Example 152, the subject matter of Example 151 includes, wherein thedemultiplexing is performed utilizing a plurality of detection modelsincluding the at least one detection model, the means for demultiplexingcomprising means for assigning bit values corresponding to a detectionmodel of the plurality of detection models that returns a highestprobability given the photon count to the first stream of data and thesecond stream of data.

In Example 153, the subject matter of Example 152 includes, wherein afirst detection model of the plurality of detection models has adifferent range than a second detection model of the plurality ofdetection models.

In Example 154, the subject matter of Example 153 includes, wherein theplurality of detection models are probability models.

In Example 155, the subject matter of Examples 151-154 includes, whereinthe received photons are received as a sinusoidal wave.

In Example 156, the subject matter of Examples 151-155 includes, whereinthe received photons are received as a square wave.

In Example 157, the subject matter of Examples 151-156 includes, whereinthe photon count results from destructive interference, and whereindemultiplexing the first and second stream of data is performed despitethe destructive interference.

In Example 158, the subject matter of Examples 151-157 includes, whereinthe photons are received over a single fiber optic fiber.

In Example 159, the subject matter of Examples 151-158 includes, whereina first light source was used to transmit the first stream of data and asecond light source was used to transmit the second stream of data.

In Example 160, the subject matter of Examples 151-159 includes, whereinthe means for demultiplexing comprises means for demultiplexing a firstand a second stream of data from the optical communication channel byapplying the photon count as an input to at least one detection modelwithout using successive interference cancellation and withoutremodulating a signal.

Example 161 is a system for transmitting data using light, the systemcomprising: a first light source configured to transmit a first datastream at a first power level and on a first wavelength to a receiverover a first optical communication path; and a second light sourceconfigured to transmit a second data stream at a second power leveldifferent than the first power level and on the first wavelength to thereceiver over the first optical communication path simultaneously to atransmission of the first data stream by the first light source.

In Example 162, the subject matter of Example 161 includes, wherein thefirst optical communication path is a single fiber optic fiber.

In Example 163, the subject matter of Examples 161-162 includes, whereinthe first and second light sources, when both activated, at leastpartially interfere with one another.

In Example 164, the subject matter of Examples 161-163 includes, areceiver configured to receive the first and second data streams andutilize a plurality of detection models to recover the first data streamand the second data stream.

In Example 165, the subject matter of Example 164 includes, wherein thefirst and second light sources, when both activated, interfere with oneanother at least sometimes on the first optical communication path andwherein the plurality of detection models are configured to account forthe interference and wherein the receiver is configured to recover thefirst and second data streams despite the interference.

In Example 166, the subject matter of Examples 164-165 includes, whereinthe receiver is configured to recover the first and second data streamsby inputting a photon count of received photons to the plurality ofdetection models.

In Example 167, the subject matter of Example 166 includes, wherein atleast one of the plurality of detection models is a Poisson probabilitydistribution.

In Example 168, the subject matter of Examples 166-167 includes, whereinat least one of the plurality of detection models is a supervisedlearning neural network model.

In Example 169, the subject matter of Examples 166-168 includes, whereinat least two of the plurality of detection models have differentdetection ranges.

In Example 170, the subject matter of Examples 166-169 includes, whereinthe receiver is configured to recover the first and second data streamsby: submitting a photon count to the plurality of detection models, eachof the plurality of detection models corresponding to a bit assignmentof the first and second data streams; and assigning a value to the firstdata stream and the second data stream equal to the corresponding bitassignment of the detection model that produces a highest probabilitygiven a photon count.

In Example 171, the subject matter of Examples 166-170 includes, whereinthe receiver is configured to instruct the first and second lightsources to transmit a plurality of training sequences and the receiveris further configured to determine, from the training sequences, theplurality of detection models.

In Example 172, the subject matter of Examples 166-171 includes, whereinthe receiver is configured to communicate a power level assignmentscheme to the first and second light sources, the power level assignmentschemes specifying a power level used by the first and second lightsources at a plurality of phases, including a phase in which the firstlight source transmits at the first power level and the second lightsource transmits at the second power level.

In Example 173, the subject matter of Examples 161-172 includes, whereinthe first and second light sources are contained in a same computingdevice.

In Example 174, the subject matter of Examples 161-173 includes, whereinthe first light source is contained in a first computing device and asecond light source is contained in a second computing device.

In Example 175, the subject matter of Examples 161-174 includes, whereina controller of the first light source is configured to receive aninstruction from the receiver indicating the first power level.

In Example 176, the subject matter of Examples 161-175 includes, whereina controller of the first light source and a controller of the secondlight source are configured to transmit a training sequence to thereceiver.

In Example 177, the subject matter of Examples 161-176 includes, whereinthe first light source and the second light source are configured to betime synchronized and to transmit respective bits of the first andsecond data streams simultaneously.

In Example 178, the subject matter of Examples 161-177 includes, whereinthe first light source is configured to transmit a sinusoidal waveform.

In Example 179, the subject matter of Examples 161-178 includes, whereinthe first light source is configured to transmit a square waveform.

In Example 180, the subject matter of Examples 161-179 includes, whereinthe first light source is a Light Emitting Diode (LED).

Example 181 is a method for simultaneous transmission of multiple datastreams over an optical communication path, the method comprising, at acontroller of a first light source: coordinating with a controller of asecond light source or with a receiver to determine a first power level;and selectively activating a first light source at the first power levelat a first wavelength according to a modulation scheme to transmit dataof a first stream of data to the receiver, each bit of data of the firststream of data transmitted in a same timeslot as corresponding bits ofdata of a second data stream, the second data stream transmitted acrossthe optical communication path by a second light source selectivelyactivated according to the modulation scheme at the first wavelength andat a second power level.

In Example 182, the subject matter of Example 181 includes, wherein theoptical communication path is a single fiber optic fiber.

In Example 183, the subject matter of Examples 181-182 includes, whereinthe optical communication path is a path between the first and secondlight sources and a photon detector of the receiver that does not passthrough a glass fiber.

In Example 184, the subject matter of Examples 181-183 includes, whereincoordinating with the controller of the second light source or with thereceiver to determine a first power level comprises selecting a powerlevel assignment scheme and determining the first power level from theselected power level assignment scheme.

In Example 185, the subject matter of Example 184 includes, whereindetermining the first power level from the selected power levelassignment scheme comprises identifying a current phase, and based uponthe current phase, identifying the first power level from the powerlevel assignment scheme.

In Example 186, the subject matter of Example 185 includes, wherein thecurrent phase is related to a current timeslot.

In Example 187, the subject matter of Examples 181-186 includes, whereinthe modulation scheme produces a sinusoidal waveform.

In Example 188, the subject matter of Examples 181-187 includes, whereinthe modulation scheme produces a square waveform.

In Example 189, the subject matter of Examples 181-188 includes, whereinthe first light source and the second light source are at differentdevices.

In Example 190, the subject matter of Examples 181-189 includes, whereinthe first light source and the second light source are on a same device.

In Example 191, the subject matter of Examples 181-190 includes, whereinthe method further comprises: at a subsequent phase of a power levelassignment scheme, selectively activating the first light source at thesecond power level, and wherein the second light source is selectivelyactivated at the first power level.

In Example 192, the subject matter of Examples 181-191 includes, whereinthe modulation scheme activates the first light source when a bit of thefirst stream of data is a value of one and does not activate the firstlight source when a bit of the first stream of data is a value of zero.

Example 193 is a device for simultaneous transmission of multiple datastreams over an optical communication path, the device comprising: acontroller of a first light source configured to perform operationscomprising: coordinating with a controller of a second light source orwith a receiver to determine a first power level; and selectivelyactivating a first light source at the first power level at a firstwavelength according to a modulation scheme to transmit data of a firststream of data to the receiver, each bit of data of the first stream ofdata transmitted in a same timeslot as corresponding bits of data of asecond data stream, the second data stream transmitted across theoptical communication path by a second light source selectivelyactivated according to the modulation scheme at the first wavelength andat a second power level.

In Example 194, the subject matter of Example 193 includes, wherein theoptical communication path is a single fiber optic fiber.

In Example 195, the subject matter of Examples 193-194 includes, whereinthe optical communication path is a path between the first and secondlight sources and a photon detector of the receiver that does not passthrough a glass fiber.

In Example 196, the subject matter of Examples 193-195 includes, whereinthe operations of coordinating with the controller of the second lightsource or with the receiver to determine a first power level comprisesselecting a power level assignment scheme and determining the firstpower level from the selected power level assignment scheme.

In Example 197, the subject matter of Example 196 includes, wherein theoperations of determining the first power level from the selected powerlevel assignment scheme comprises identifying a current phase, and basedupon the current phase, identifying the first power level from the powerlevel assignment scheme.

In Example 198, the subject matter of Example 197 includes, wherein thecurrent phase is related to a current timeslot.

In Example 199, the subject matter of Examples 193-198 includes, whereinthe modulation scheme produces a sinusoidal waveform.

In Example 200, the subject matter of Examples 193-199 includes, whereinthe modulation scheme produces a square waveform.

In Example 201, the subject matter of Examples 193-200 includes, whereinthe first light source and the second light source are at differentdevices.

In Example 202, the subject matter of Examples 193-201 includes, whereinthe first light source and the second light source are on a same device.

In Example 203, the subject matter of Examples 193-202 includes, whereinthe operations further comprise: at a subsequent phase of a power levelassignment scheme, selectively activating the first light source at thesecond power level, and wherein the second light source is selectivelyactivated at the first power level.

In Example 204, the subject matter of Examples 193-203 includes, whereinthe modulation scheme activates the first light source when a bit of thefirst stream of data is a value of one and does not activate the firstlight source when a bit of the first stream of data is a value of zero.

Example 205 is a machine-readable medium, storing instructions forsimultaneous transmission of multiple data streams over an opticalcommunication path, the instructions, when executed by a machine at afirst light source, cause the machine to perform operations comprising:coordinating with a controller of a second light source or with areceiver to determine a first power level; and selectively activating afirst light source at the first power level at a first wavelengthaccording to a modulation scheme to transmit data of a first stream ofdata to the receiver, each bit of data of the first stream of datatransmitted in a same timeslot as corresponding bits of data of a seconddata stream, the second data stream transmitted across the opticalcommunication path by a second light source selectively activatedaccording to the modulation scheme at the first wavelength and at asecond power level.

In Example 206, the subject matter of Example 205 includes, wherein theoptical communication path is a single fiber optic fiber.

In Example 207, the subject matter of Examples 205-206 includes, whereinthe optical communication path is a path between the first and secondlight sources and a photon detector of the receiver that does not passthrough a glass fiber.

In Example 208, the subject matter of Examples 205-207 includes, whereinthe operations of coordinating with the controller of the second lightsource or with the receiver to determine a first power level comprisesselecting a power level assignment scheme and determining the firstpower level from the selected power level assignment scheme.

In Example 209, the subject matter of Example 208 includes, wherein theoperations of determining the first power level from the selected powerlevel assignment scheme comprises identifying a current phase, and basedupon the current phase, identifying the first power level from the powerlevel assignment scheme.

In Example 210, the subject matter of Example 209 includes, wherein thecurrent phase is related to a current timeslot.

In Example 211, the subject matter of Examples 205-210 includes, whereinthe modulation scheme produces a sinusoidal waveform.

In Example 212, the subject matter of Examples 205-211 includes, whereinthe modulation scheme produces a square waveform.

In Example 213, the subject matter of Examples 205-212 includes, whereinthe first light source and the second light source are at differentdevices.

In Example 214, the subject matter of Examples 205-213 includes, whereinthe first light source and the second light source are on a same device.

In Example 215, the subject matter of Examples 205-214 includes, whereinthe operations further comprise: at a subsequent phase of a power levelassignment scheme, selectively activating the first light source at thesecond power level, and wherein the second light source is selectivelyactivated at the first power level.

In Example 216, the subject matter of Examples 205-215 includes, whereinthe modulation scheme activates the first light source when a bit of thefirst stream of data is a value of one and does not activate the firstlight source when a bit of the first stream of data is a value of zero.

Example 217 is a device for simultaneous transmission of multiple datastreams over an optical communication path, the device comprising, at acontroller of a first light source: means for coordinating with acontroller of a second light source or with a receiver to determine afirst power level; and means for selectively activating a first lightsource at the first power level at a first wavelength according to amodulation scheme to transmit data of a first stream of data to thereceiver, each bit of data of the first stream of data transmitted in asame timeslot as corresponding bits of data of a second data stream, thesecond data stream transmitted across the optical communication path bya second light source selectively activated according to the modulationscheme at the first wavelength and at a second power level.

In Example 218, the subject matter of Example 217 includes, wherein theoptical communication path is a single fiber optic fiber.

In Example 219, the subject matter of Examples 217-218 includes, whereinthe optical communication path is a path between the first and secondlight sources and a photon detector of the receiver that does not passthrough a glass fiber.

In Example 220, the subject matter of Examples 217-219 includes, whereinthe means for coordinating with the controller of the second lightsource or with the receiver to determine a first power level comprisesmeans for selecting a power level assignment scheme and means fordetermining the first power level from the selected power levelassignment scheme.

In Example 221, the subject matter of Example 220 includes, wherein themeans for determining the first power level from the selected powerlevel assignment scheme comprises means for identifying a current phase,and based upon the current phase, identifying the first power level fromthe power level assignment scheme.

In Example 222, the subject flatter of Example 221 includes, wherein thecurrent phase is related to a current timeslot.

In Example 223, the subject matter of Examples 217-222 includes, whereinthe modulation scheme produces a sinusoidal waveform.

In Example 224, the subject matter of Examples 217-223 includes, whereinthe modulation scheme produces a square waveform.

In Example 225, the subject matter of Examples 217-224 includes, whereinthe first light source and the second light source are at differentdevices.

In Example 226, the subject matter of Examples 217-225 includes, whereinthe first light source and the second light source are on a same device.

In Example 227, the subject matter of Examples 217-226 includes, whereinthe device further comprises: at a subsequent phase of a power levelassignment scheme, means for selectively activating the first lightsource at the second power level, and wherein the second light source isselectively activated at the first power level.

In Example 228, the subject matter of Examples 217-227 includes, whereinthe modulation scheme activates the first light source when a bit of thefirst stream of data is a value of one and does not activate the firstlight source when a bit of the first stream of data is a value of zero.

Example 229 is a method for receiving optical signals at a receiver, themethod comprising: using hardware processing circuitry: determining acount of photons hitting a photon detector during a detection period andfor a particular light frequency, the photons produced from transmissionof respective first and second bitstreams transmitted on a samefrequency and across a same optical communication path to the photondetector during the detection period; and determining, based upon thephoton count, a first bit value assignment for the first bit stream anda second bit value assignment for the second bit stream based on aplurality of photon count decision regions, each of the plurality ofphoton count decision regions corresponding to respective bit valueassignments for the first and second bit streams and wherein a firstdecision region of the plurality of photon count decision regions has adifferent decision range than a second decision region of the pluralityof photon count decision regions.

In Example 230, the subject matter of Example 229 includes, wherein adecision range of the plurality of photon count decision regionscomprises photon counts that produce a probability that is greater thana predetermined minimum threshold.

In Example 231, the subject matter of Example 230 includes, whereindetermining, based upon the photon count, a first bit value assignmentfor a first bit stream and a second bit value assignment for a secondbit stream using a plurality of photon count decision regions comprises:determining, for each of the plurality of photon count decision regions,a probability given the photon count; selecting the photon countdecision region with a greatest probability given the photon count; andassigning a value to the first and second bit streams that correspondswith a bit assignment corresponding to the selected photon countdecision region.

In Example 232, the subject matter of Example 231 includes, wherein theplurality of photon count decision regions are Poisson probabilitydistributions created from a plurality of average photon counts receivedat the receiver during a training period.

In Example 233, the subject matter of Examples 229-232 includes,updating the plurality of photon count decision regions using a trainingprocess, wherein the training process changes a range of at least one ofthe plurality of photon count decision regions.

In Example 234, the subject matter of Examples 229-233 includes,instructing a first light source to transmit at a first power level anda second light source to transmit at a second power level.

In Example 235, the subject matter of Examples 229-234 includes, whereinthe optical communication path is a single fiber optic fiber.

In Example 236, the subject matter of Examples 229-235 includes, whereinthe optical communication path is a spatial alignment of a firsttransmitter that transmits the first bit stream and a photon detector ofthe receiver and a spatial alignment of a second transmitter thattransmits the second bit stream and the photon detector.

Example 237 is a device for receiving optical signals, the devicecomprising: hardware processing circuitry configured to performoperations comprising: determining a count of photons hitting a photondetector during a detection period and for a particular light frequency,the photons produced from transmission of respective first and secondbitstreams transmitted on a same frequency and across a same opticalcommunication path to the photon detector during the detection period;and determining, based upon the photon count, a first bit valueassignment for the first bit stream and a second bit value assignmentfor the second bit stream based on a plurality of photon count decisionregions, each of the plurality of photon count decision regionscorresponding to respective bit value assignments for the first andsecond bit streams and wherein a first decision region of the pluralityof photon count decision regions has a different decision range than asecond decision region of the plurality of photon count decisionregions.

In Example 238, the subject matter of Example 237 includes, wherein adecision range of the plurality of photon count decision regionscomprises photon counts that produce a probability that is greater thana predetermined minimum threshold.

In Example 239, the subject matter of Example 238 includes, wherein theoperations of determining, based upon the photon count, a first bitvalue assignment for a first bit stream and a second bit valueassignment for a second bit stream using a plurality of photon countdecision regions comprises: determining, for each of the plurality ofphoton count decision regions, a probability given the photon count;selecting the photon count decision region with a greatest probabilitygiven the photon count; and assigning a value to the first and secondbit streams that corresponds with a bit assignment corresponding to theselected photon count decision region.

In Example 240, the subject matter of Example 239 includes, wherein theplurality of photon count decision regions are Poisson probabilitydistributions created from a plurality of average photon counts receivedat the receiver during a training period.

In Example 241, the subject matter of Examples 237-240 includes, whereinthe operations further comprise: updating the plurality of photon countdecision regions using a training process, wherein the training processchanges a range of at least one of the plurality of photon countdecision regions.

In Example 242, the subject matter of Examples 237-241 includes, whereinthe operations further comprise: instructing a first light source totransmit at a first power level and a second light source to transmit ata second power level.

In Example 243, the subject matter of Examples 237-242 includes, whereinthe optical communication path is a single fiber optic fiber.

In Example 244, the subject matter of Examples 237-243 includes, whereinthe optical communication path is a spatial alignment of a firsttransmitter that transmits the first bit stream and a photon detector ofthe receiver and a spatial alignment of a second transmitter thattransmits the second bit stream and the photon detector.

Example 245 is a machine-readable medium, storing instructions forreceiving optical signals at a receiver, the instructions, when executedby a machine, cause the machine to perform operations comprising:determining a count of photons hitting a photon detector during adetection period and for a particular light frequency, the photonsproduced from transmission of respective first and second bitstreamstransmitted on a same frequency and across a same optical communicationpath to the photon detector during the detection period; anddetermining, based upon the photon count, a first bit value assignmentfor the first bit stream and a second bit value assignment for thesecond bit stream based on a plurality of photon count decision regions,each of the plurality of photon count decision regions corresponding torespective bit value assignments for the first and second bit streamsand wherein a first decision region of the plurality of photon countdecision regions has a different decision range than a second decisionregion of the plurality of photon count decision regions.

In Example 246, the subject matter of Example 245 includes, wherein adecision range of the plurality of photon count decision regionscomprises photon counts that produce a probability that is greater thana predetermined minimum threshold.

In Example 247, the subject matter of Example 246 includes, wherein theoperations of determining, based upon the photon count, a first bitvalue assignment for a first bit stream and a second bit valueassignment for a second bit stream using a plurality of photon countdecision regions comprises: determining, for each of the plurality ofphoton count decision regions, a probability given the photon count;selecting the photon count decision region with a greatest probabilitygiven the photon count; and assigning a value to the first and secondbit streams that corresponds with a bit assignment corresponding to theselected photon count decision region.

In Example 248, the subject matter of Example 247 includes, wherein theplurality of photon count decision regions are Poisson probabilitydistributions created from a plurality of average photon counts receivedat the receiver during a training period.

In Example 249, the subject matter of Examples 245-248 includes, whereinthe operations further comprise: updating the plurality of photon countdecision regions using a training process, wherein the training processchanges a range of at least one of the plurality of photon countdecision regions.

In Example 250, the subject matter of Examples 245-249 includes, whereinthe operations further comprise: instructing a first light source totransmit at a first power level and a second light source to transmit ata second power level.

In Example 251, the subject matter of Examples 245-250 includes, whereinthe optical communication path is a single fiber optic fiber.

In Example 252, the subject matter of Examples 245-251 includes, whereinthe optical communication path is a spatial alignment of a firsttransmitter that transmits the first bit stream and a photon detector ofthe receiver and a spatial alignment of a second transmitter thattransmits the second bit stream and the photon detector.

Example 253 is a device for receiving optical signals, the devicecomprising: means for determining a count of photons hitting a photondetector during a detection period and for a particular light frequency,the photons produced from transmission of respective first and secondbitstreams transmitted on a same frequency and across a same opticalcommunication path to the photon detector during the detection period;and means for determining, based upon the photon count, a first bitvalue assignment for the first bit stream and a second bit valueassignment for the second bit stream based on a plurality of photoncount decision regions, each of the plurality of photon count decisionregions corresponding to respective bit value assignments for the firstand second bit streams and wherein a first decision region of theplurality of photon count decision regions has a different decisionrange than a second decision region of the plurality of photon countdecision regions.

In Example 254, the subject matter of Example 253 includes, wherein adecision range of the plurality of photon count decision regionscomprises photon counts that produce a probability that is greater thana predetermined minimum threshold.

In Example 255, the subject matter of Example 254 includes, wherein themeans for determining, based upon the photon count, a first bit valueassignment for a first bit stream and a second bit value assignment fora second bit stream using a plurality of photon count decision regionscomprises: means for determining, for each of the plurality of photoncount decision regions, a probability given the photon count; means forselecting the photon count decision region with a greatest probabilitygiven the photon count; and means for assigning a value to the first andsecond bit streams that corresponds with a bit assignment correspondingto the selected photon count decision region.

In Example 256, the subject matter of Example 255 includes, wherein theplurality of photon count decision regions are Poisson probabilitydistributions created from a plurality of average photon counts receivedat the receiver during a training period.

In Example 257, the subject matter of Examples 253-256 includes, meansfor updating the plurality of photon count decision regions using atraining process, wherein the training process changes a range of atleast one of the plurality of photon count decision regions.

In Example 258, the subject matter of Examples 253-257 includes, meansfor instructing a first light source to transmit at a first power leveland a second light source to transmit at a second power level.

In Example 259, the subject matter of Examples 253-258 includes, whereinthe optical communication path is a single fiber optic fiber.

In Example 260, the subject matter of Examples 253-259 includes, whereinthe optical communication path is a spatial alignment of a firsttransmitter that transmits the first bit stream and a photon detector ofthe receiver and a spatial alignment of a second transmitter thattransmits the second bit stream and the photon detector.

Example 261 is at least one machine-readable medium includinginstructions that, when executed by processing circuitry, cause theprocessing circuitry to perform operations to implement of any ofExamples 1-260.

Example 262 is an apparatus comprising means to implement of any ofExamples 1-260.

Example 263 is a system to implement of any of Examples 1-260.

Example 264 is a method to implement of any of Examples 1-260.

1. A method of receiving data optically, the method comprising:determining a count of photons received over an optical communicationchannel, the photons resulting from a transmission of a first stream ofdata at a first power level and a second stream of data at a secondpower level; and demultiplexing the first and the second streams of datafrom the optical communication channel, the demultiplexing not applyinga successive interference cancellation technique, the demultiplexingcomprising: applying the count of photons to a plurality of probabilitymodels to produce a plurality of probabilities, each probability modelcorresponding to a bit assignment for the first and second streams ofdata; and assigning bit values to the first stream of data and thesecond stream of data based upon the plurality of probabilities and thebit assignments corresponding to the plurality of probability models. 2.The method of claim 1, wherein the demultiplexing comprises assigningbit values corresponding to a probability model of the plurality ofprobability models that returns a highest probability given the photoncount to the first stream of data and the second stream of data.
 3. Themethod of claim 2, wherein a first probability model of the plurality ofprobability models has a different range than a second probability modelof the plurality of probability models.
 4. The method of claim 3,wherein the plurality of probability models are Poisson probabilitymodels.
 5. The method of claim 1, wherein the received photons arereceived as a sinusoidal wave.
 6. The method of claim 1, wherein thereceived photons are received as a square wave.
 7. The method of claim1, wherein the photon count results from destructive interference, andwherein demultiplexing the first and second stream of data is performeddespite the destructive interference.
 8. The method of claim 1, whereinthe photons are received over a single fiber optic fiber.
 9. The methodof claim 1, wherein a first light source was used to transmit the firstdata stream and a second light source was used to transmit the secondstream of data.
 10. The method of claim 1, wherein demultiplexingcomprises demultiplexing without using successive interferencecancellation and without remodulating a signal.
 11. A device forreceiving data optically, the device comprising: a controller configuredto perform operations comprising: determining a count of photonsreceived over an optical communication channel, the photons resultingfrom a transmission of a first stream of data at a first power level anda second stream of data at a second power level; and demultiplexing thefirst and the second streams of data from the optical communicationchannel, the demultiplexing not applying a successive interferencecancellation technique, the demultiplexing comprising: applying thecount of photons to a plurality of probability models to produce aplurality of probabilities, each probability model corresponding to abit assignment for the first and second streams of data; and assigningbit values to the first stream of data and the second stream of databased upon the plurality of probabilities and the bit assignmentscorresponding to the plurality of probability models.
 12. The device ofclaim 11, wherein the operations of demultiplexing comprises assigningbit values corresponding to a probability model of the plurality ofprobability models that returns a highest probability given the photoncount to the first stream of data and the second stream of data.
 13. Thedevice of claim 12, wherein a first probability model of the pluralityof probability models has a different range than a second probabilitymodel of the plurality of probability models.
 14. The device of claim13, wherein the plurality of probability models are Poisson probabilitymodels.
 15. The device of claim 11, wherein the received photons arereceived as a sinusoidal wave.
 16. The device of claim 11, wherein thereceived photons are received as a square wave.
 17. The device of claim11, wherein the photon count results from destructive interference, andwherein the operations of demultiplexing the first and second stream ofdata is performed despite the destructive interference.
 18. The deviceof claim 11, wherein the photons are received over a single fiber opticfiber.
 19. The device of claim 11, wherein a first light source was usedto transmit the first stream of data and a second light source was usedto transmit the second stream of data.
 20. The device of claim 11,wherein the operations of demultiplexing comprises demultiplexingwithout using successive interference cancellation and withoutremodulating a signal.